HTTP的操作过程

HTTP的操作过程

HTTP协议定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。HTTP是面向事务(一系列的信息交换,不可分割的整体)的应用层协议,它是万维网上能够可靠地交换文件的重要基础。
HTTP 不仅传送完成超文本跳转所必需的信息, 而且也传送任何可从互联网上得到的 信息, 如文本、 超文本、 声音和图像等。
万维网的大致工作过程,如下图:
在这里插入图片描述
每个万维网网点都有一个 服务器进程, 它不断地监听 TCP的端口80, 以便发现是否有浏览器向它发出连接建立请求。一旦监听到连接建立请求并建立了TCP 连接之后, 浏览器就向万维网 服务器发出 浏览某个页面的请求, 服务器接着就返回所请求的页面作为响应。 最后, TCP连接就被释放了。 在浏览器和 服务器之间的请求和响应的交互, 必须按照规定的格式和遵循一定的规则。 这些格式和规则就是超文本传送协议HTTP。

用户在点击鼠标链接某个万维网文档时, HTTP协议首先要和服务器建立TCP连接。 这需要使用三报文握手
当建立TCP连接的三报文握手的前两部分完成后(即经过了 一个RTT时间后), 万维网客户就把 HTTP请求报文, 作为建立TCP连接的三报文握手中的第三个报文的数据, 发送给万维网服务器。 服务器收到HTTP请求报文后, 就把所请求的文档作为响应报文 返回给客户。

在这里插入图片描述

持续连接和非持续连接

HTTP/1.0的主要缺点,就是每请求 一个文档就要有两倍RTT的开销。 若一个主页上 有很多链接的对象(如图片等) 需 要依次进行链接, 那么每一 次链接下载都导致2 xRTT的开销。 另一种开销就是万维网客户和服务器每一 次 建立新的TCP 连接都要分配缓存和变量。
特别是万维网服务器往往要同时服务于大量客户的请求, 所以这种非持续连接会使万维网服务器的负担很重。 好在 浏览器都能够打开5 ~ 10个并行的TCP连接, 而每一个TCP连接处理客户的一个请求。 因此, 使用并行 TCP连接可以缩短响应时间。

HTTP/1.1协议较好地解决了这个问题,使用了持续链接,持续连接就是万维网服务器在发送 响应后仍然在 一段时间内保持这条连接, 使同 一个客户(浏览器)和该服务器可以继续在这条连接上 传送后 续的HTTP请求报文和响应报文。这并不局限于传送同 一个页面上链接的文档, 而 是只要这些文档都在同 一个服务器上就行。
持续连接的两种工作方式:

  • 非流水线方式,是客户在收到前 一个响应后才能发出下一个请求。
  • 流水线方式,是客户在收到 HTTP的响应报文之前就能够接着发送新的请求报文。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值