《图解HTTP》简单的HTTP协议
一、HTTP协议用于客户端和服务器之间的通信
二、通过请求和响应的交换达成通信
1、请求报文的构成
2、响应报文的构成
三、HTTP是不保存状态的协议
HTTP协议自身不具备保存之前发送过的请求或响应的功能,原因:更快速的处理大量事务
为了实现保持状态功能,引入Cookie技术
四、请求URI定位资源
HTTP协议使用URI定位互联网上的资源。正是因为URI的特定功能,在互联网上任意位置的资源都能访问到。
五、告知服务器意图的HTTP方法
GET: 请求访问已被URI识别的资源,获取资源
POST:传输实体的主体,主要目的并不是获取响应的主体内容
PUT: 传输文件,向FTP协议上传一样(由于不带验证机制,一般不使用这个方法)
HEAD:获取报文首部(通信状态),不返回报文主体部分,用于确认URI的有效性及资源更新的日期时间
DELETE:用来删除文件(由于不带验证机制,一般不使用这个方法)
OPTIONS:查询针对请求URI指定的资源支持的方法
TRACE:追踪路径,查询发送出去的请求是怎样被加工修改的(通过代理中转等一系列操作,不常用,容易引起攻击)
CONNECT:与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。(主要使用SSL、TLS协议把通信内容加密后经网络隧道传输)
六、使用方法下达命令
方法的作用在于,可以指定请求的资源按期望产生某种行为
七、持久连接省通信量
1、持久连接
特点:只要任意一端没有明确提出断开连接,则保持TCP连接状态
持久连接:建立1次TCP连接后进行多次请求和响应的交互
好处:减少重复建立连接的额外开销(web页面响应速度相应提高),减轻服务器端的负载
2、管线化
管线化技术能同时并行发送多个请求,不需要一个接着一个地等待响应
管线化技术比持久连接还要快,请求数越多,时间差就越明显
八、Cookies技术
客户端发送没有Cookies信息的请求报文给服务器
服务器发送生成Cookies信息的响应报文给客户端
客户端自动保存发送带有Cookies信息的请求报文给服务器