1、概述
HTTTP协议用于客户端和服务端之间的通信,一条通信线路中,必定有一个担任客户端,一个担任响应端,角色在不同通信线路中可互换。
客户端:请求访问文本或图像等资源的一端
服务端:提供资源响应的一端
请求必须由客户端发出,从客户端开始建立通信,服务器只有在接收到请求时才会回复响应。
2、请求
请求访问服务器的类型(又称方法)————————---GET
请求访问的资源对象(又称请求URL)———————— /index.htm
客户端HTTP的版本协议————————HTTP/1.1.
请求首部字段———————————— HOST/Content-Type等字段
内容实体——————————————
3、响应返回
服务器HTTP的版本协议————————HTTP/1.1.
请求处理结果的状态码和原因短语——————200 OK
响应首部字段————————————date(创建响应的时间)
资源实体的主题————————————接着以一空行分隔
4、无状态
HTTP:不保存状态的协议,即无状态协议
HTTP协议自身不对请求和响应之间的通信状态进行保存,即协议对于发送过的请求或响应都做持久化处理
HTTP的无状态特点使得该协议可以处理大量事物,确保了协议的可伸缩性。
Cookiie技术:实现状态保持的功能。
5、告知服务器的HTTP方法
(1)GET:获取资源,请求访问已被URL识别的资源
(2)POST:传输实体主体:并不是获取响应的主体内容
(3)PUT:传输文件 由于自身不带验证机制,无法保证上传文件安全问题,因此一般不单独使用,常与WEB应用的验证机制或架构采用REST标准的同类Web网站联合使用。
(4)HEAD:请求报文首部,与GET方法一样,只是不返回主体部分,用于确认URL的有效性以及资源更新的日期时间等。
(5)DELETE:删除文件,与PUT类似不带验证机制,因此也是和其他验证机制一起使用,和PUT类似。
(6)OPTIONS:询问支持的方法,查询针对请求URL指定的资源支持的方法。
(7)Trace:追踪路径,让Web服务器端将之前的请求通信环回给客户端的方法。在发送请求时,在Max-Forwards首部字段中填入数值,没经过一个服务器端就将该数字减1,当数值刚好减到0时,就停止继续传输,最后接收到请求的服务器端则返回状态码200 OK 的响应。Trace方法可以查询发送出去的请求是怎样被加工修改/篡改。不常用,容易引发跨站追踪(XST)。
(8)Connect:要求用隧道协议连接代理,与代理服务器通信时建立隧道,实现隧道协议进行TCP通信,主要使用SSL和TLS协议把通信内容加密后经网络隧道传输。