请求与响应
http请求包含请求行(请求方法,url,版本),请求头(auth,cookie,编码方式,报文类型,支持的报文类型等),请求体(请求内容)。
http响应包含状态行(响应码,版本),响应头(set cookie,报文类型,server),响应体。
1.xx 信息状态码,表示接收成功,等待客户端下一次请求才能完成整个处理过程。
2.xx 成功响应码,成功接收并处理完整个过程。
3.xx 重定向码,资源已经转移到一个新地址
4.xx 客户端请求有误。404(not found) 403(forbidden)
5.xx 服务器出现错误。
个版本http差异
http 0.9 只支持简单的get请求,不支持请求头,cache,已过时,无状态,每次请求新建关闭连接。
http 1.0 支持get post请求,支持请求头,支持cache,身份认证,支持keep alive,默认仍然是短连接。
http 1.1 默认长连接,允许一个连接上发起多次请求。支持cache-contrl,chunked编码传输,每段报文都附带长度,长度为0表示结束。支持字节范围请求。请求响应支持host域,新增PUT,DELETE,CONNECT.
http 2.0
多路复用,二进制分帧,新增二进制分帧层,请求数据会被分割成更小的消息和帧,采用二进制编码。头部封装到header帧,请求体封装到data帧。
头部压缩,客户端向同一网站发送大量类似请求时,使用压缩技术能提高性能。
随时复位,能够随时停止未完成的传输,进行新的传输。
能够主动向客户端推送数据。