http笔记

HTTP

  • 定义:HyperText Transfer Protocol 超文本传输协议

HTTP请求方法

  • Request Method:(常用)
    1. Get
    获取资源:没有Body
    2. Post
    增加或者修改资源:有Body
    3. Put
    修改资源:有Body
    4. DELETE
    删除资源:没有Body
    5. OPTIONS
    获取服务器支持的HTTP请求方法
    用来检查服务器的性能

HTTP响应状态码

  • Status Code (作用:对结果做出类型化描述):
    1. 1XX:临时性消息
    2. 2XX:成功
    3. 3XX:重定向 (301:永久性迁移。302:暂时性迁移)
    4. 4XX:客户端错误
    5. 5XX:服务器错误

HTTP响应头

  • Header(作用:HTTP消息的元数据(metadata))
    • Host:服务器主机地址
    • Content-Type/Content-Length:内容类型/内容的长度(字节)
      • text/html:html文本,用于浏览器响应
      • application/x-www-from-uelencoded:普通表单,encoded URL格式。(只能传文字)
      • multipart/from-data:多部分形式,一般用于传输包含二进制内容的多项内容
      • application/json:json形式,用于Web Api的响应或POST/PUT请求。
      • image/jepg:单文件 ,用于Web Api的响应或POST/PUT请求。
      • application/zip:单文件
  • Chunked Transfer Encoding(分块传输)
    • Transfer-Encoding:chunked
    • 表示Body长度无法确定,Content-Length不能使用
  • Location:重定向目标Url
  • User-Agent:用户代理
  • Range/Accpect-Range:指定Body的内容范围(分段加载)
  • Cookie/Set-Cookie:发送Cookie/设置Coolie
  • Authorization:授权信息
  • Accpict:客户端能接受的数据类型。
  • Accpict-Charset:客户端接受的字符集。
  • Accpict-Encoding:客户端接受的压缩编码类型
  • Content-Encoding:压缩类型

Cache

  • Cache (缓存) Buffer(缓冲)
  • Cache-Control:no-cache(不要缓存),no-store(没有缓存存储空间),max-age(失效日期),must-revalidate(验证缓存是否过期)
  • Last-Modified:最后一次服务器修改
    • if-Modified-Since
  • Etag:文件对比
    • if-Node-Match
  • Cache-Control:private/public (服务器中间节点是否需要缓存)

Https

  • Http over SSL
  • SSL:Secure Socket Layer -> TLS Transport Layer Secure
  • 定义:在HTTP之下增加一个安全层,用于保障http传输
  • 本质:在客户端和服务器之间协商出一个对称密钥,每次发送消息之前将消息加密,收到之后解密,达到内容的加密传输。

Https连接

  1. 客户端请求建立TLS链接
  2. 服务器发回证书
  3. 客户端验证服务器证书
  4. 客户端信任服务器后,和服务器 协商出对称密钥
  5. 使用对称密钥开始通信

你可能感兴趣的:(学习笔记)