HTTP协议简介及其工作原理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HTTP协议简介及其工作原理

HTTP协议简介及其工作原理 1.HTTP的概述 超文本传输协议(HTTP)是万维网应用层的协议,是通过两个程序实现:一个是客户端程序(一般称为浏览器),另一个是服务器 (常称Web服务器)。这两个通常运行在不同的主机上通过交换HTTP报文来完成网页请求和响应。并且HTTP定义了报文的结构和客户/服务器之间交换报文的规则。 2. HTTP的工作流程 浏览器可以向web服务器发送请求并显示收到的网页,当用户在浏览器地址栏中输入一个URL或点击一个超连接时,浏览器就向服务器发出了HTTP请求,该请求被送往由URL指定的WEB服务器,WEB服务器接收到请求后,进行相关文档的检索并以HTTP规定的格式送回所要求的文件或其他相关信息,再由用户计算机上的浏览器负责解释和显示。 在HTTP协议中,由于WEB服务器在发送用户要求的文档过程中,并不储存任何有关客户端的状态信息。如果某个客户端在几秒钟内两次要求同一文档,服务器绝对不会认为不合理,因为它根本不记得用户端曾经来访过,因此HTTP不维持客户端状态,故它又被称为无状态协议。 3. HTTP运作过程中的连接 3.1连接过程说明 假设某个网页有10个JPFG图像,总共11个对象存在同一个服务器中,该网页的基本文档形式URL为: /somedepartment/home.index 当采用HTTP/1.0时,WEB服务过程: ⑴.HTTP的客户端启用了对 服务器的TCP连接,该服务器的80号端口(HTTP的默认端口)用来监听来自网络的网络服务请求。 ⑵. HTTP的客户端通过第一步建立的链接套接字发送“请求报文”。请求报文中包含了文档的路径名( /somedepartment/home.index )。 ⑶. HTTP服务器通过第一步建立连接套接字收到了该请求报文,从磁盘或内存中查找/somedepartment/home.index,将文档封存在HTTP的“相应报文”中,并通过先前建立的套接字将该报文送到客户端。 ⑷. HTTP服务器告诉TCP断开连接(TCP在客户端完全收到响应报文之前不会断开TCP连接)。 ⑸.当客户端接受完响应报文,本次TCP连接即告结束。到达的报文说明所封装的内容是HTML基本文件,客户端从响应报文中取出文件,对HTML文件进行解析,从而发现该文件还要引用另外10个JPEG对象。 ⑹.针对所有的JPEG对象,需要重复进行前四个步骤。 上述步骤使用的是非坚持连接的的工作模式,由于服务器在每个对象发送后都要关闭TCP连接。由于TCP连接传输一个请求报文和一个响应报文,这样上述例子传送一个网页需要11次TCP连接,效率比较低。由于每个请求的对象建立和维持一个“崭新”的连接,在客户端和服务器端都要为TCP分配缓存并保持TCP变量,这会对同时几百个客户服务端的WEB服务器造成城中负担。 3.2 提高HTTP服务效率的两种方法 ⒈从一个客户端同时发送多个TCP连接并列到一个WEB服务器上,即建立“并行”的TCP连接,目前浏览器可以配置5~10个并行连接,每个连接完成一次HTTP的报文交换,但其没有从根本上解决服务器负担问题。 2.使用持续连接模式,服务器在完成一次HTTP报文交互后继续保持连接,统一客户端和服务器之间后继的请求和响应报文可以在原来的连接进行。 4.HTTP报文格式 4.1送往服务器的请求报文 下面是一个浏览器发往服务器的请求报文样例: GET/test/file.hmtl HTTP/1.0 Accept:text/plain Accept:application/x-html Accept:application/html Accept:text/x-html Accept:text/html Accept:audio/* … Accept:text/x-setext Accept:*/* 请求报文样例的方法字段一般格式: HTTP-method identifier HTTP-version 解释如下: HTTP-method:指定HTTP方法,可以说明对URL指向的对象进行什么样的操作。该方法常用的有:GET或POST可以使用网页中的表单向WEB服务器传送数据,在请求报文样例中使用get方法。HEAD:请求一个对向有关的首部信息。 identifier :资源标识符(这里为去掉协议和因特网域名字符串后的URL,如报文是送往代理服务器的则为整个URL HTTP-version:目前客户端使用的HTTP协议版本。 请求报文由两部分组成:Method字段,它是请求的第一行,指定使用的HTTP方法和服务器上资源地址;然后HTTP header字段,他把有关客户端语HTML文件的解析能力的相关信息传到服务器

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档