什么是HTTP
HTTP 就是一个 超文本传输协议
**协议 :**双方 约定 发送的 **域名数据长度连接(长连接还是短连接)**格式(UTF-8那些)
传输 :数据虽然是在 A 和 B 之间传输,但允许中间有中转或接力。
**超文本:**图片、视频、压缩包,在HTTP里都是文本
HTTP 常见状态码
比如 200 连接成功,成功的状态码 404 Not Found 找不到 请求的资源
HTTP 常见字段
Host(域名)
cpp
Host: www.A.com
Content-Length(数据长度)
cpp
Content-Length: 1000
Connection ( 连接)**
cpp
Connection: Keep-Alive //长连接(保持连接,数据传输完继续维护socket套接字)
Content-Type(格式)
cpp
Content-Type: text/html; Charset=utf-8
html 网页, 编码 utf-8
HTTP 的 GET 和 POST
GET: 从服务器获取指定的资源
POST: 根据请求负荷(报文body)对指定的资源做出处理 (上传资源)
GET 和 POST 的区别:
1, GET 的 URL 有长度限制 ,因为在服务端有长度限制,不能被访问没有的资源,POST没有URL限制
2, 功能区别
HTTP 缓存技术
本地缓存资源,这样第二次访问时,就不用发出请求再等待响应,直接从磁盘获取
但是 资源过期了怎么办 因为每个资源的有
ETag 字段 (文件名+文件大小+修改时间) 和
有效期 (分 相对时间 和 绝对 时间)
HTTP 1.0 如何改进
先说HTTP/1.1 相比 HTTP/1.0 性能上的改进:
使用长连接的方式改善了 HTTP/1.0 短连接造成的性能开销。
也就是Connection: Keep-Alive //长连接(保持连接,数据传输完继续维护socket套接字)
支持管道(pipeline)网络传输
只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,可以减少整体的响应时间。