HTTP协议
1、http协议的特点
- 简单快速,灵活,无连接,无状态
2、http报文组成部分
请求报文
- 请求行(http方法,页面地址,http协议/版本)
- 请求头(一些key/value告诉服务端我要哪些内容)
- 空行(结束请求头)
- 请求体
响应报文
- 状态行(协议,版本,状态码)
- 响应头
- 空行
- 响应体
3、http方法
- get 获取资源
- post 传输资源
- put 更新资源
- delete 删除资源
- head 获取报文首部
4、post和get的区别
- get浏览器回退无害的,post要发一次请求
- get产生的url地址可以收藏,post不可以
- get请求会被浏览器主动缓存,post不可以(除非手动)
- get请求只支持url编码,post可以多种编码
- get请求参数会完整的保留在浏览器历史纪录里,post不会
- get请求参数是有长度限制的,post没有
- 参数的数据类型,get只接受ascii,post没有限制
- get比post更不安全,参数暴露在url上,不能用来传递敏感信息
- get参数通过url传递,post通过 request body传递
5、http状态吗
- 1xx - 请求接受,继续处理
- 2xx - 处理成功
- 3xx - 重定向
- 4xx - 客户端错误
5xx - 服务器端错误
206 请求成功部分
- 301 所有的请求已经移至新的url
- 302 所有的请求已经临时转移到新的url
- 304 缓存文档可以继续使用
- 400 客户端语法错误
- 403 请求的页面被禁止访问
- 404 资源不存在
- 500 不可预期的错误
- 503 临时过载或当机
6、持久链接
keep-alive
- 请求1-》响应1-》请求2 -》响应2-》请求3-》响应3
7、管线化
请求1-》请求2-》请求3-》响应1-》响应2-》响应3