计算机网络HTTP介绍

1. HTTP概述

HTTP即为超文本传输协议(HyperText Transfer Protocol)。

Web应用的应用层协议,定义浏览器如何向Web服务器发送请求,以及Web服 务器如何进行响应。

主要版本:HTTP/1.0 HTTP/1.1

 

2. HTTP连接

浏览器在向服务器发送请求之前,首先建立TCP连接,然后才发送 HTTP请求报文,接收HTTP响应报文。

计算机网络HTTP介绍

RTT:作为一个时间单位来使用。

HTTP客户进程向服务器请求建立连接,从客户发送连接请求,到收到服务器连接确认,用时一个往返时间(Round Trip Time , RTT)。

计算机网络HTTP介绍

根据TCP的策略不同,分为非持久连接的HTTP与持久连接的HTTP。

 

1. 非持久连接

客户与服务器建立TCP连接后,通过该连接发送HTTP请求报文, 接收HTTP响应报文,然后断开TCP连接

(1). 一条连接

每次请求一个资源都要重新建立链接,获取资源后断开连接,下次重新建立连接,HTTP 1.0的为这种连接方式。

下面以请求浏览一个引用3个图片的Web页面为例,说明其过程。

计算机网络HTTP介绍

由上图可知,在非持久连接HTTP的情况下,请求引用3个图片的Web页面响应时间需要8个RTT。

 

(2). 多条连接

通过建立多条并行TCP连接,并行发送HTTP请求和并行接收HTTP 响应,然后断开TCP 连接。

下面以请求浏览一个引用3个图片的Web页面为例,说明其过程。

计算机网络HTTP介绍

由上图可知,在持久连接HTTP的情况下,请求引用3个图片的Web页面响应时间需要4个RTT。

 

2. 持久连接

(1). 非流水方式持久连接

非流水方式持久连接也称非管道方式持久连接,客户端收到响应报文后, 不断开TCP连接,继续请求剩下的资源。

下面以请求浏览一个引用3个图片的Web页面为例,说明其过程。

计算机网络HTTP介绍

由上图可知,在非流水方式持久连接的HTTP情况下,请求引用3个图片的Web页面响应时间需要5个RTT。

 

(2). 流水方式持久连接

流水方式持久连接也称管道方式持久连接,客户端在接收到前一个响应报文后,不断开连接,继续并行请求剩下的资源,HTTP 1.1的为这种连接方式。

下面以请求浏览一个引用3个图片的Web页面为例,说明其过程。

计算机网络HTTP介绍

由上图可知,在流水方式持久连接的HTTP情况下,请求引用3个图片的Web页面响应时间需要3个RTT。

 

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

计算机网络HTTP介绍

(4). 若浏览器配置5个并行TCP连接,则基于HTTP1.0获取该Web页的完整内容(包括引用的图像)需要 的时间(不包括域名解析时间)。

答:6RTTh

计算机网络HTTP介绍

(5). 若浏览器没有配置并行TCP连接,则基于非流水方式的HTTP1.1获取该Web 页完整内容需要的时间 以及基于流水方式的HTTP1.1获取该Web页的完整内容(包括引用的图像)需要的时间(不包括域名解 析时间)。

答:非流水方式:10RTTh

计算机网络HTTP介绍

流水方式:3RTTh

计算机网络HTTP介绍

 

3. HTTP报文

HTTP报文分为请求报文和响应报文,请求报文为浏览器发送给Web服务器,响应报文为Web服务器发送给浏览器。

计算机网络HTTP介绍

请求报文中的方法主要有以下这些:

计算机网络HTTP介绍

响应报文中的状态码:3位十进制数,利用第一位十进制数字区分5类状态码。

计算机网络HTTP介绍

 常见的HTTP状态码如下:

计算机网络HTTP介绍

 

4. Cookie机制

HTTP服务器不保存客户的任何信息,被称为无状态协议,为了对用户进行跟踪,引入了Cookie机制,Cookie是一个小型文本文件,网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据。

Cookie技术主要包括4部分内容:

1. HTTP响应报文中的Cookie头行:用户的Cookie ID,用户偏好等。

2. 用户浏览器在本地存储、维护和管理的Cookie文件。

3. HTTP请求报文中的Cookie头行:用户已访问过的网站再次访问时,浏览器会检索本地Cookie文件。

4. 网站在后台数据库中存储、维护Cookie信息:分配用户ID、每个ID用户在本网站的访问特征等。