图解HTTP(2)

第2章 简单的HTTP协议

1.HTTP协议在客户端和服务端之间的通信

客户端:请求访问文本或图像等资源的一端。
服务器端:提供资源响应的一端。

注意:就一条通信路线来说,服务器端和客户端的角色是确定的,而用HTTP协议能够明确区分哪端是客户端,哪端是服务器端。

2.通过请求和响应的交换达成通信

过程:请求从客户端出发,最后服务器端响应该请求并返回。

GET:请求访问服务的类型 ;

/index.htm:请求访问的资源对象;

HTTP/1.1:HTTP的版本号,用来提示客户端使用的HTTP协议功能;

请求访问hackr.jp主机的/index.htm页面资源。

HTTP/1.1:HTTP版本号

200:状态码(status code)

Date:创建响应的日期时间

<html>...</html>:资源实体的主体

3.HTTP是不保存状态的协议

为了更快的处理大量事物,确保协议的可伸缩性,协议本身并不保留之前一切的请求或响应报文的信息。

Cookie:可记录状态,后面会讲到。

4.告知服务器意图的HTTP方法

[1] GET 获取资源

GET方法用来请求访问已被URI识别的资源。指定的资源经服务器端解析后返回相应内容。

[2] POST 传输实体主体

POST与GET都可以用来传输实体的主体。但POST的主要目的并不是获取相应的主体内容。

[3] PUT 传输文件

PUT方法用来传输文件。在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置。

[4] HEAD 获得报文首部

HEAD方法和GET方法一样,知识不返回报文主体部分。用于确认URI的有效性及资源更新的日期时间等。

[5] DELETE 删除文件

DELETE方法按请求URI删除指定的资源。

[6] OPTIONS 询问支持的方法

OPTIONS方法用来查询针对请求URI指定的资源支持的方法。

[7] TRACE 追踪路径

TRACE方法是让Web服务器端将之前的请求通信环回给客户端的方法。

发送请求时,在Max-Forwards首部字段中填入数值,每经过一个服务器端就将该数字减1,当数值刚好减到0时,就停止继续传输。

[8] CONNECT 要求用隧道协议连接代理

CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL和TSL协议把通信内容加密后经网络隧道传输。

CONNECT格式:CONNECT 代理服务器名:端口号 HTTP版本

5. 使用方法下达命令

方法的命令:向请求URI指定的资源发送请求报文

HTTP/1.0和HTTP/1.1支持的方法

6.持久接连节省通信量

在HTTP协议的初始版本中,每进行一次HTTP通信就要断开一次TCP连接。

但是在之后,一个HTML页面包含图片使得通信量剧集增加。

持久连接:只要任意一端没有明确提出断开连接,则保持TCP连接状态。

posted @ 2020-01-31 23:21  imPlanck  阅读(235)  评论(0编辑  收藏  举报