HTTP实用指南 |青训营笔记

110 阅读3分钟

1.jpg

这是我参与「第四届青训营」笔记创作活动的第5天

一、初识HTTP

什么是HTTP

HTTP(即Hyper Text Transfer Protocol,又被称为超文本传输协议)指的是互联网上应用最为广泛的一种网络协议,它是一种无状态协议,即服务器不保留与客户交易时的任何状态。HTTP是一种面向对象的协议。允许传送任意类型的数据对象。它通过数据类型和长度来标识所传送的数据内容和大小,并允许对数据进行压缩传送。当用户在一个HTML文档中定义了一个超文本链后,浏览器将通过TCP/IP协议与指定的服务器建立连接。

2.png

二、协议分析

1.发展

3.png

2. 报文

Method

4.png

Safe(安全):不会修改服务器的数据的方法(GET、HEAD、OPTIONS)

ldempotent(幂等):同样的请求被执行一次与被执行多次的效果是一样的,服务器的状态也是一样的,所有Safe的方法都是Idempotent的(GET、HEAD、OPTIONS、PUT、DELETE)

3. 状态码

5.png

  • 200 OK-客户端请求成功
  • 301-资源(网页等)被永久转移到其它 URL
  • 302 - 临时跳转
  • 401 Unauthorized - 请求未经授权
  • 404-请求资源不存在,可能是输入了错误的URL
  • 500-服务器内部发生了不可预期的错误
  • 504 Gateway Timeout-网关或者代理的服务器无法在规定的时间内获得想要的响应
  • 4. 常用请求头

    6.jpg

    5. 常用响应头

    7.jpg

    6. 缓存

    8.png

    7. cookie

    9.png

    8.HTTP/2

    HTTP/2 (原名HTTP/2.0)即超文本传输协议2.0,是下一代HTTP协议。是由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis (httpbis)工作小组进行开发。是自1999年http1.1发布后的首个更新。HTTP 2.0在2013年8月进行首次合作共事性测试。在开放互联网上HTTP 2.0将只用于https://网址,而http://网址将继续使用HTTP/1,目的是在开放互联网上增加使用加密技术,以提供强有力的保护去遏制主动攻击。DANE RFC6698允许域名管理员不通过第三方CA自行发行证书。

    总而言之:更快、更稳定、更简单

    9. HTTPS

    HTTPS (全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面

    总而言之:更安全