HTTP协议

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