HTTP

HTTP 协议类

HTTP 协议的特点

  1. 简单快速
    • uri 统一资源符是固定的
  2. 灵活
    • 通过请求头设置实现
  3. 无连接
    • 连接一次即断开
  4. 无状态
    • 不会保存上一次连接信息

HTTP 报文的组成部分

  1. 请求报文
    • 请求行
    • 请求头
    • 空行
    • 请求体
  2. 响应报文
    • 状态行
    • 响应头
    • 空行
    • 响应体

HTTP 方法

方法 描述
GET 获取资源
POST 传输资源
PUT 更新资源
DELETE 删除资源
HEAD 获得报文首部

POST 和 GET 的区别

  • GET 在浏览器回退时是无害的,而POST会再次提交请求
  • GET 产生的URL地址可以被收藏, 而POST不可以
  • GET 请求会被浏览器主动缓存, 而POST 不会, 除非手动删除
  • GET 只能进行URL 编码, 而POST 支持多种编码方式
  • GET 请求参数会被完整保留在浏览器历史记录里, 而POST 中的参数不会被保留
  • GET 请求在URL 中传送的参数是有长度限制的,而POST没有限制
  • 对参数的数据类型,GET只接受ASCII字符,而POST 没有限制
  • GET 比POST 更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息
  • GET 参数通过URL传递, POST 放在Request body 中

HTTP 状态码

范围 描述
1xx 指示信息-表示请求已接收,继续处理
2xx 成功 - 表示请求已被成功接收
3xx 重定向 - 要完成请求必须进行更进一步的操作
4xx 客户端错误 - 请求有语法错误或请求无法实现
5xx 服务器错误 - 服务器未能实现合法的请求
  • 200: 客户端请求成功
  • 206: 文件过长 客户发送了一个带有Range头的GET请求,服务器完成了他
  • 301: 所请求的页面已经转移至新的URL
  • 302: 所请求的页面已经临时转移至心的URL
  • 304: 客户端有缓存的文档并发出了一个条件性的请求,服务器告诉客户,原来缓存的文档还可以继续使用
  • 400: 请求有语法错误, 不能被服务器所理解
  • 401: 请求未经授权,
  • 403: 对被请求的页面访问被禁止
  • 404: 请求的资源不存在
  • 405: 请求方法错误
  • 415: 传入参数个数不一致或者类型不一致
  • 500: 服务器端报错
  • 503: 请求未完成,服务器临时过载或宕机。

什么是持久连接

  • HTTP 协议采用“请求 - 应答”模式,当使用普通模式,也就是非Keep-Alive 模式时,每个请求/应答客户和服务器都要新建一个连接,完成后立即断开连接(http协议为无连接的协议,仅支持http/1.1)

你可能感兴趣的:(HTTP)