loading

图解HTTP 读书笔记

学习笔记,多图警告 🚫🚫🚫

图片加载不出来的话,掘金地址:https://juejin.im/post/6844904021841412104 (opens new window)

# 知识点

  • tcp/ip三次握确保通信可靠性。TCP标志SYN/ACK
  • ping www.baidu.com 解析对应的IP地址
  • HTTP/1.1 虽然是无状态协议,但为了实现期望的保持状态功能,于 是引入了 Cookie 技术。
  • 服务端数据无更,返回304状态码
  • kee-alive 持久连接的特点是,只要任意一端 没有明确提出断开连接,则保持 TCP 连接状态
  • 第一次连接服务端返回Set-Cookie
  • 使用Content-Range 来限制请求大小,范围请求返回206状态码
  • 403 服务器禁止访问, 500服务器错误
  • 使用代理服务器的理由有:利用缓存技术减少网络带宽的流量,组织内部针对特定网站的访问控制,以获取访问日志为主要 目的,等等。
  • 网关的工作机制和代理相似
  • 首部字段 Transfer-Encoding 规定了传输报文主体时采用的编码方式。Transfer-Encoding: chunked
  • 使用首部字段 Via 是为了追踪客户端与服务器之间的请求和响应报文 的传输路径。
  • Cookie 的 secure 属性用于限制 Web 页面仅在 HTTPS 安全连接时,才 可以发送 Cookie。
  • Cookie 的 HttpOnly 属性是 Cookie 的扩展功能,它使 JavaScript 脚本 无法获得 Cookie。其主要目的为防止跨站脚本攻击(Cross-site scripting,XSS)对 Cookie 的信息窃取。
  • 首部字段 DNT 属于 HTTP 请求首部,其中 DNT 是 Do Not Track 的简 称,意为拒绝个人信息被收集,是表示拒绝被精准广告追踪的一种方 法,0同意被追踪,1:拒绝

# TCP/IP

# 一个http传输过程

# 内容协商

内容协商机制是指客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为适合的资源。内容协商会以响应资源的语言、字 符集、编码方式等作为判断的基准。

# 首部字段

# 缓存

  • Cache-Control: public 缓存公用,private缓存只提供给一个用户
  • Pragm: no-cache 兼容http1.0
  • no-cache 强制缓存服务器从资源服务器重新拉取对应资源
  • max-age 指定缓存有效的时间,max-age=0,请求要转发给源服务器。http 1.1中,存在Expires和max-age时,优先处理max-age,htt 1.0相反

# Connection

  • 控制不转发给代理的字段
  • 持久连接 keep-Alive 关闭 close

# 请求首部字段

  • 只有当 If-Match 的字段值跟 ETag 值匹配一致时,服务器才会接受请求。If-None-Match相反
  • 如果在 If-Modified-Since 字段指定的日期时间后,资源发生了 更新,服务器才会接受请求

# HTTPS

  • HTTPS 是身披 SSL 外壳的 HTTP

通常,HTTP 直接和 TCP 通信。当使用 SSL时,则演变成先和 SSL通 信,再由 SSL和 TCP 通信了。简言之,所谓 HTTPS,其实就是身披 SSL协议这层外壳的 HTTP。

  • 公钥和私钥 (公钥可能被替换,用证书(收费))

公开密钥加密使用一对非对称的密钥。使用公开密钥加密方式,发送密文的一方使用对方的公开密钥进 行加密处理,对方收到被加密的信息后,再使用自己的私有密钥 进行解密。

  • HTTPS 采用混合加密机制

采用共享密钥加密和公开密钥加密两者并用的混合加密

  • https 比 http 慢2-100倍,会消耗服务器大量资源,一般涉及隐私的时候用 https

# WebScoket

为了实现 WebSocket 通信,在 HTTP 连接建立之后,需要完成一 次“握手”(Handshaking)的步骤。对于之前的请求,返回状态码 101 Switching Protocols 的响应

最近更新时间: 2021/06/17 10:13:36
最近更新
01
2023/07/03 00:00:00
02
2023/04/22 00:00:00
03
2023/02/16 00:00:00