http权威指南知识要点(一) 概要部分

来源:互联网 发布:接触网中级工软件 编辑:程序博客网 时间:2024/06/14 05:15

一、http:因特网的多媒体信使。http使用的是可靠的数据传输协议,因此即使数据来自地球的另一端,它也能确保数据在传输过程中不会被损坏或者产生混乱。这样用户在访问时候就不用担心数据的完整性了。

二、web客户端和服务器:web内容都是存储在web服务器上的,web服务器所使用的是http协议,因此经常会被称为http服务器。这些http服务器存储了因特网中的数据,如果http客户端(最常见的客户端就是web浏览器,如:谷歌,360,Firefox,IE 等等)发出请求的话,它们会提供数据给客户端。即http客户端向http服务器发送http请求,服务器会在http响应中回送所请求的数据。如下所示:


三、资源:web资源存放在web服务器中,最简单的web资源就是web服务器文件系统中的静态文件。

    1、媒体类型:因特网上有数千种不同的数据类型,http仔细的给每种要通过web传输的对象都打上了名为MIME类型的数据格式标签。

    MIME:全称 Mutipurpose Internet Mail Extension 翻译为:多用途因特网邮件扩展

    MIME类型是一种文本标记,表示一种主要的类型和一个特定的子类型。中间由一条斜杠来分隔,部分例子如下所示:


    最初设计MIME是为了解决在不同电子邮件系统之间搬移报文时存在的问题,由于MIME在电子邮件系统中工作的非常好,因此http也采纳了它,用它来描述并标记多媒体内容。

    作用:Web 服务器会为所有HTTP 对象数据附加一个MIME 类型。如下图所示:


当Web浏览器从服务器中取回一个对象时,会去查看相关的MIME 类型,看看它是否知道应该如何处理这个对象。大多数浏览器都可以处理数百种常见的对象类型:显示图片文件、解析并格式化HTML 文件、通过计算机声卡播放音频文件,或者运行外部插件软件来处理特殊格式的数据。

    2、URI:全称 Uniform Resource Identifier 翻译为:统一资源标识符,URI就像因特网上的邮政地址一样,在世界范围内唯一标识并定位信息资源。URI有两种形式:URL和URN。

    3、URL:全称 Uniform Resource Location翻译为:统一资源定位符,这是资源标识符最常见的形式,URL描述了一台特定服务器上某资源的特定位置。它们可以明确说明如何从一个精确、固定的位置获取资源。

    URL格式:大部分URL都遵循一种标准的格式,这种格式包含三个部分:

    ①、第一部分:http://  这部分被称为方案,说明访问资源所使用的协议类型,这部分通常就是http协议;

    ②、第二部分:www.baidu.com 这部分表示服务器的因特网地址。

   ③、其余部分:其余部分指定了web服务器上的某个资源。

   4、URN:全称:Uniform Resource Name 翻译为:统一资源名,URN 是作为特定内容的唯一名称使用的,与目前的资源所在地无关。使用这些与位置无关的URN,就可以将资源四处搬移。通过URN,还可以用同一个名字通过多种网络访问协议来访问资源。比如,不论因特网标准文档RFC 2141 位于何处(甚至可以将其复制到多个地方),
都可以用下列URN 来命名它:urn:ietf:rfc:2141  不过URN 仍然处于试验阶段,还未大范围使用。


四、事务:一个http事务是由一条请求命令和一个响应结果组成。这种通信是通过名为http报文的格式化数据块进行的。如下图所示:

   1、方法:http支持几种不同的http请求命令,这些命令被称为http方法,每条http请求报文都包含一个请求方法,这个请求方法告诉服务器要执行什么动作,例如:获取一个web页面,或运行一个网关程序,或删除一个文件等。常见的http方法由如下几种:

   (1)GET:从服务器想客户端发送命名资源;

   (2)PUT:将来自客户端的数据存储到一个命名的服务器资源中去;

   (3)DELETE:从服务器中删除命名资源;

   (4)POST:将客户端数据发送到一个服务器网关应用程序;

   (5)HEAD:仅发送命名资源响应中的HTTP首部。

   2、状态码:状态码是一个三位数字的代码,每条HTTP响应报文返回时都会携带一个状态码,用于告知客户端是否成功,或者需要采取其他行动。伴随着状态码,HTTP还会发送一条解释性的文本短语用于描述当前返回的状态码代表的含义,起到人性化阅读的效果,但是,处理过程使用的是数字状态码,一些常见的状态码如下:

   (1)200 :OK,文档正确返回;

   (2)302:Redirect(重定向),到其他地方去获取资源;

   (3)404:Not Found(没找到)在该路径下没找到资源。

  3、一个web页面中可以包含多个对象,即,应用程序完成一项任务时通常会发布多个http事务。也就是说web页面是复合式的,嵌入在里面的每个资源都对应着一个相应的http事务。