1. HTTP概述
HTTP即为超文本传输协议(HyperText Transfer Protocol)。
Web应用的应用层协议,定义浏览器如何向Web服务器发送请求,以及Web服 务器如何进行响应。
主要版本:HTTP/1.0 和 HTTP/1.1
2. HTTP连接
浏览器在向服务器发送请求之前,首先建立TCP连接,然后才发送 HTTP请求报文,接收HTTP响应报文。
RTT:作为一个时间单位来使用。
HTTP客户进程向服务器请求建立连接,从客户发送连接请求,到收到服务器连接确认,用时一个往返时间(Round Trip Time , RTT)。
根据TCP的策略不同,分为非持久连接的HTTP与持久连接的HTTP。
2.1. 非持久连接;
客户与服务器建立TCP连接后,通过该连接发送HTTP请求报文, 接收HTTP响应报文,然后断开TCP连接。
1. 一条连接;
每次请求一个资源都要重新建立链接,获取资源后断开连接,下次重新建立连接,HTTP 1.0的为这种连接方式。
下面以请求浏览一个引用3个图片的Web页面为例,说明其过程。
由上图可知,在非持久连接HTTP的情况下,请求引用3个图片的Web页面响应时间需要8个RTT。
2. 多条连接;
通过建立多条并行TCP连接,并行发送HTTP请求和并行接收HTTP 响应,然后断开TCP 连接。
下面以请求浏览一个引用3个图片的Web页面为例,说明其过程。
由上图可知,在持久连接HTTP的情况下,请求引用3个图片的Web页面响应时间需要4个RTT。
2.2. 持久连接;
1. 非流水方式持久连接;
非流水方式持久连接也称非管道方式持久连接,客户端收到响应报文后, 不断开TCP连接,继续请求剩下的资源。
下面以请求浏览一个引用3个图片的Web页面为例,说明其过程。
由上图可知,在非流水方式持久连接的HTTP情况下,请求引用3个图片的Web页面响应时间需要5个RTT。
2. 流水方式持久连接;
流水方式持久连接也称管道方式持久连接,客户端在接收到前一个响应报文后,不断开连接,继续并行请求剩下的资源,HTTP 1.1的为这种连接方式。
下面以请求浏览一个引用3个图片的Web页面为例,说明其过程。
由上图可知,在流水方式持久连接的HTTP情况下,请求引用3个图片的Web页面响应时间需要3个RTT。
2.3. 应用题;
某网页URL为"http://www.abc.com/index.html",且该URL对应的IP地址在你的计算机上没有缓存,文件index.html引用了 8个小图像。在域名解析的过程中,无等待的一次DNS解析请求与响应时间记为 RTTd,HTTP请求传输Web对象过程的一次往返时间记为RTTh。试给出:
1. 该URL中的域名。
答:www.abc.com
2. 浏览器解析到该URL对应的IP地址的最短时间和最长时间。
答:最短时间:本地域名服务器有被查询域名信息,则直接得到被查域名的IP地址,即此时需要最短时间1RTTd。最长时间:本地域名服务器没有被查询域名信息,则查询根域名服务器,顶级域名服务器abc.com, 直到查询到被查询域名主机的权威域名服务器www.abc.com,即此时需要最长时间4RTTd,查询顺序:本地+根+顶级+权威。
3. 若浏览器没有配置并行TCP连接,则基于HTTP1.0获取该Web页的完整内容(包括引用的图像)所需要的时间(不包括域名解析时间)。
答:18RTTh
4. 若浏览器配置5个并行TCP连接,则基于HTTP1.0获取该Web页的完整内容(包括引用的图像)需要 的时间(不包括域名解析时间)。
答:6RTTh
5. 若浏览器没有配置并行TCP连接,则基于非流水方式的HTTP1.1获取该Web 页完整内容需要的时间 以及基于流水方式的HTTP1.1获取该Web页的完整内容(包括引用的图像)需要的时间(不包括域名解 析时间)。
答:非流水方式:10RTTh
流水方式:3RTTh
3. HTTP报文
HTTP报文分为请求报文和响应报文,请求报文为浏览器发送给Web服务器,响应报文为Web服务器发送给浏览器。
请求报文中的方法主要有以下这些:
响应报文中的状态码:3位十进制数,利用第一位十进制数字区分5类状态码。
常见的HTTP状态码如下:
4. Cookie机制
HTTP服务器不保存客户的任何信息,被称为无状态协议,为了对用户进行跟踪,引入了Cookie机制,Cookie是一个小型文本文件,网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据。
Cookie技术主要包括4部分内容:
1. HTTP响应报文中的Cookie头行:用户的Cookie ID,用户偏好等;
2. 用户浏览器在本地存储、维护和管理的Cookie文件;
3. HTTP请求报文中的Cookie头行:用户已访问过的网站再次访问时,浏览器会检索本地Cookie文件;
4. 网站在后台数据库中存储、维护Cookie信息:分配用户ID、每个ID用户在本网站的访问特征等;
标签:Web,HTTP,请求,报文,介绍,计算机网络,TCP,连接 From: https://blog.51cto.com/u_15959833/6046783