HTTP通信协议_第1页
HTTP通信协议_第2页
HTTP通信协议_第3页
HTTP通信协议_第4页
HTTP通信协议_第5页
免费预览已结束,剩余1页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、HTTP通信协议基本概念HTTP( Hypertext Tran sfer Protocol )是目前在In ternet 上应用最广泛的通信协议之一。简言之,HTTP®信协议允许用户提出HTTP“请求” (request),然 后由服务器视实际处理结果传回 HTTP“回应” (response),其基本运行方式为:当用户向Web服务器送出请求时,Web服务器将会开启一个新连接。通过这个连接,用户可以将 HTTP请求传送给Web服务器。当Web服务器收到HTTP请求时,将进行解析与处理,并将处理结果包装成HTTP回应。最后,Web服务器会将HTTP回应传送至用户。只要用户接收到 HT

2、TP回应,Web 服务器就会关闭这个连接,用户的执行状态将不会被保存。图1-1用户与Web!务器的交互关系事产Itmi*回曲注意:HTTP既可以使用非持久连接(nonpersistent connection),也可以使用持久连接(persistentconnection)。HTTP/1.0 使用非持久连接,HTTP/1.1 默认使用持久连接。HTTP请求消息下面是一个典型的HTTP请求消息:GET /somedir/page.html HTTP/1.1Host:Conn ecti on: closeUser-age nt:Mozilla/4.0 Accept-la nguage:zh-c n

3、 (额外的回车符和换行符)首先,这个消息是用普通的ASCII文本书写的。其次,这个消息共有 5行(每行 以一个回车符和一个换行符结束),最后一行后面还有额外的一个回车特和换行 符。当然,一个请求消息可以不止这么多行,也可以仅仅只有一行。第一行称为 请求行(request line),后续各行都称为头部行(header)。请求行有3个字段: 方法字段、URL字段、HTTP版本字段。方法字段有若干个值可供选择,包括GET POST和HEAD HTTP青求消息绝大多数使用GET方法,这是浏览器用来请求对象 的方法,所请求的对象就在 URL字段中标识。本例表明浏览器在请求对象 /somedir/pag

4、e.html 。版本字段是不言自明的;本例中浏览器实现的是 HTTP/1.1 版本。现在看一下本例中的各个头部行。头部行 Host:;服务器发出所请求的对象后应 关闭连接。尽管产生这个请求消息的浏览器实现的是HTTP/1.1版本,它还是不想使用持久连接。User-age nt头部行指定用户代理,也就是产生当前请求的浏 览器的类型。本例的用户代理是 Mozilla/4.0 ,它是Nelscape浏览器的一个版 本。这个头部行很有用,因为服务器实际上可以给不同类型的用户代理发送同一 个对象的不同版本(这些不同版本位用同一个 URL寻址)。最后,Accept-languag: 头部行指出要是所请求对

5、象有简体中文版本,那么用户宁愿接收这个版本;如果没有这个语言版本,那么服务器应该发送其默认版本。Accept-languag:仅仅是HTTP勺众多内容协商头部之一。我们接着看一下下图所示的请求消息的一般格式。HTTP青求形式(HTTP method被请求的URIHTTP版 本标头信息(Request Header) 请求内容(Message Body)6IllHHr*111 ir>*-iHi ir w*IterItrjikfllUtah IMFULthhrrBah k'pk«*lj|kHnh.甲 iMMh图2:HTTP请求格式上面的请求消息例子符合这个格式,不过一般格式

6、中还有一个位于各个头部(及额外的回车符和换行符)之后的“附属体” (body)。附属体不在GET方法中使用, 而是在POST方法中使用。POST方法适用于需由用户填写表单的场合,如往google 搜索引擎中填入待搜索的词。用户提交表单后,浏览器就像用户点击了超链接那 样仍然从服务器请求一个 Web页面,不过该页面的具体内容却取决于用户填写在 表单各个字段中的值。如果浏览器使用 POST方法提出该请求,那么请求消息附 属体中包含的是用户填写在表单各个字段中的值。与GET方法类似的是HEAR法,两者的差别只是服务器在对 HEAM法的响应消息中去掉了所请求的对象 , 其他内容则与对GET方法的响应消

7、息一样。HEAR法通常用于HTTP服务器软件 开发人员进行调试。HTTP响应消息F面是一个典型的HTTP响应消息:HTTP/1.1 200 0KConn ectl on: closeDate: Thu, 13 Oct 2005 03:17:33 GMTServer: Apache/ (Un ix)Last Nodified:Mon,22 Jun 1998 09;23;24 GMTCo ntent Len gth:682lContent Type:text/html(数据数据数据数据数据这个响应消息分为3部分:1个起始的状态行(status line) , 6个头部行、 1个包含所请求对象本身的

8、附属体。状态行有3个字段:协议版本字段、状态码字段、原因短语字段。本例的状态行表明,服务器使用HTTP/1.1版本,响应过程完全正常(也就是说服务器找到了所请求的对象,并正在发送)。现在看一下本例中的各个头部行。服务器使用Conn ectlo n:close头部行告知客户自己将在发送完本消息后关闭 TCP连接。Date:头部行指出服务器创建并 发送本响应消息的日期和时间。注意,这并不是对象本身的创建时间或最后修改 时间,而是服务器把该对象从其文件系统中取出,插入响应消息中发送出去的时间。Server:头部行指出本消息是由Apache服务器产生的;它与HTTP请求消息中 的User-age nt

9、:头部行类似。Last Nodified:头部行指出对象本身的创建或最 后修改日期或时间。Last Nodified:头部对于对象的高速缓存至关重要,且不 论这种高速缓存是发生在本地客户主机上还是发生在网络高速缓存服务器主机 (也就是代理服务器主机)上。Content Length:头部行指出所发送对象的字节数。 Content Type:头部行指出包含在附属体中的对象是 HTML文本。对象的类型是 由Content Type:头部而不是由文件扩展名正式指出的。根据HTTP1信协议的规定,每个“ HTTP回应”必须包含下列信息:HTTP版 本HTTP状态代码(Status Code)HTTP状态代码所对应的摘要文字(Reaso n-Phrase) 标头信息(Response Header)回应主体(Message Body)lUaihk I Am-III 11* tctfehwr =图3:响应消息的一般格式200 ; 请求成功,所请求信息在响应消息中返回。301 Moved Permanently:所请求的对象己永久性迁移;新的URL在本响应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论