HTTP_基础


HTTP 基础知识

HTTP 协议

HTTP 协议是承载与 TCP 协议之上的。有时也承载与 TLS 或者 SSL 协议之上。

HTTP 和 HTTPS 的区别

  1. HTTPS 需要到 AC 申请证书,HTTP 不需要
  2. HTTPS 密文传输,HTTP 明文传输。
  3. HTTPS 默认使用 433 端口,HTTP 使用 80 端口。
  4. HTTPS 传输数据比 HTTP 要安全。

HTTPS 的数据传输

  1. 浏览器将支持的加密信息发给服务器。
  2. 服务器选择一套浏览器支持的加密算法,以证书的形式回发给浏览器。
  3. 浏览器验证证书的合法性,并结合证书,公匙,加密信息发给服务器。
  4. 服务器使用私匙解密信息,验证哈希,加密响应消息回发给浏览器。
  5. 浏览器解密响应信息,并对消息进行验证,之后进行加密交互数据。

HTTP 当在浏览器中输入网址后会发生什么?

  1. DNS 域名解析。
  2. 建立 TCP 链接。
  3. 发起 HTTP 请求。
  4. 接受响应结果。
  5. 浏览器解析 HTML。
  6. 浏览器布局渲染。

HTTP 的 Get 和 Post。

  • 数据可见性

Get:数据在 URL 中可见。

Post:数据在 URL 中不可见。

  • 安全性

Post 比 Get 更加安全。

  • 数据能否被缓存

Get:能被缓存。

Post:不能被缓存。

  • 历史

Get:参数会被保留在浏览历史中。

Post:参数不会被保留在浏览历史中。

  • 数据长度

Get:对数据长度有限制,最大数据长度为 2048 个字符。

Post:对数据长度无限制。

  • 数据类型

Get:只允许 ASCII 字符。

Post:无限制。

HTTP 的状态码

  1. 200:成功,服务器已经处理了请求。
  2. 204:无内容,服务器成功处理了请求,但没有返回内容。
  3. 404:未找到对应的请求内容。
  4. 500:服务器内容报错。
  1. http 的协议是无状态的,那么每一次网页的流转都需要重新登录。为了解决这个问题,引入了 cookie。
  2. 当客户端第一次向服务器发送请求的时候,服务端会生成 cookie 。记录请求者信息,并把这个 cookie 在响应中添加并返回给客户端。
  3. 当客户端第二次向服务器发送请求时,会在请求中添加之前的 cookie 。服务器接收到这个请求的时候会先去检查对应的 cookie 信息,根据是否已经存在,返回不同的结果。

文章作者: L Q
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 L Q !
  目录