1、HTTP协议用户用户客户端和服务器端之间的通信
请求访问资源的一端称为客户端,提供资源相应的为服务端
满足HTTP通信前提条件要有服务端和客户端。
根据通信链路可以确定服务端和客户端的。
2、通过请求和相应的交换达成通信
是由客户端发出请求服务端响应
客户端的请求报文是由请求方法、协议版本、URI、可选的首部字段和内容实体构成
服务端响应的报文是由协议版本、状态码、用于解释状态码的原因短语、可选的响应首部以及实体主体构成。
3、HTTP不保存状态协议
Http协议时无状态的。
每一次请求和上一次的请求都是无关的;协议本身不保留之前一切的请求或响应的报文信息。
使用Cookie来管理状态。
4、通过URI来定位资源
5、HTTP请求的方法
1、GET 获取资源
一般用于请求获取资源,通过服务器处理之后;
可以用来头信息进行资源缓存;
2、POST 传输实体主体
一般用户表单的提交
3、PUT 传输文件
一般REST标准的Web网站才会使用。
4、HEAD 获取报文首部
只返回头部,用于确认URI的有效及资源更新的日期时间。
5、DELETE 删除文件
一般用于删除文件,一般返回204(No Content)。
6 OPTIONS 询问支持的方法
查询对该URI支持的方法
6、使用方法下达命令
7、持久连接节省通信量
在http v0.9和v1.0(一部分)时每一次通信都需要断开一次TCP链接。
如果一个Web中有包含很短资源比如css、js和图片资源就需要建立很多次链接,TCP需要多次握手。
7.1 持久化链接
HTTP v1.0中需要指定 keep live才可以持久还链接。
HTTP v1.1默认链接都是持久化的。
需要客户端和服务端同时支持。
7.2管道化
优点:不用等待就可以发送下一个请求;比持久化链接更快。
8、Cookie管理状态
服务端会给客户端一个响应的头信息 Set-Cookie信息,同时通知客户端保存该Cookie信息;下次客户端请求的时候会在报文中带上Cookie信息,然后和服务端的记录做对比,最后得到之前的状态信息。