HTTP请求:
由四部分组成:请求行(含请求方法GET或POST,以及URL),请求头部,空行,请求数据
请求头部:含若干个属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。例如 Accept:浏览器能接受的媒体类型;
Accept-language:可接受的语言 Cookie:用来存储一些用户信息以便让服务器辨别用户身份的(cookie是存储在本地浏览器,而session存储在服务器);
HTTP响应:
三个部分:状态行(含响应码),首部行(响应结果的长度,响应结果的类型等等),实体主题(代表了请求对象的本身);
Uri(统一资源标识符)和URL(统一资源定位器)区别:Uri一般用来定位本地文件,URL一般用来网络请求(包含host等等);
GET 请求获取Request-URI所标识的资源
POST 在Request-URI所标识的资源后附加新的数据
HEAD 请求获取由Request-URI所标识的资源的响应消息报头
PUT 请求服务器存储一个资源,并用Request-URI作为其标识
DELETE 请求服务器删除Request-URI所标识的资源
HTTP/1.0不支持文件断点续传,<code>RANGE:bytes</code>是HTTP/1.1新增内容,HTTP/1.0每次传送文件都是从文件头开始,即0字节处开始。
http1.1在http1.0的基础上进行优化,增加了更多的响应头和请求头;HTTP 1.1的持续连接,也需要增加新的请求头来帮助实现,例如,Connection请求头的值为Keep-Alive时,客户端通知服务器返回本次请求结果后保持连接;Connection请求头的值为close时,客户端通知服务器返回本次请求结果后关闭连接;保证持续连接的关键
http2.0较与http1.x特点:
多路复用 : HTTP/2 可以很容易的去实现多流并行而不用依赖建立多个 TCP 连接,并行地在同一个 TCP 连接上双向交换消息。
二进制分帧: HTTP1.x 的首部信息会被封装到 HEADER frame,而相应的 Request Body 则封装到 DATA frame 里面。