派大星

vuePress-theme-reco 派大星    2021 - 2022
派大星 派大星
主页
博客
  • 前端
  • JavaScript文章
  • 三级目录
  • 笔记
  • 学习笔记
  • 页面
  • CSS
  • HTML
  • 技术
  • 技术文档
  • GitHub技巧
  • 技术笔记
  • 实用工具
  • Nodejs
  • 博客搭建
  • 更多
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • JavaScript
  • 浏览器&网络
  • 前端框架
  • 资源工具
  • 持续集成
  • 小程序
  • 杂谈
  • React
  • Mysql
  • 面试题
  • uniapp
  • 《ES6 教程》笔记
  • 《Git》学习笔记
  • 《JavaScript教程》笔记
  • 《React》笔记
  • 核心概念
  • 高级指引
  • Hook
  • 案例演示
  • 《TypeScript 从零实现 axios》
  • 初识 TypeScript
  • TypeScript 常用语法
  • ts-axios 项目初始化
  • ts-axios 基础功能实现
  • ts-axios 异常情况处理
  • ts-axios 接口扩展
  • ts-axios 拦截器实现
  • ts-axios 配置化实现
  • ts-axios 取消功能实现
  • ts-axios 更多功能实现
  • ts-axios 单元测试
  • ts-axios 部署与发布
  • 《Vue》笔记
  • 基础
  • 组件
  • 过渡&动画
  • 工具
  • 规模化
  • 可复用性&组合
  • 其他
  • Vuex
标签
时间轴
关于
author-avatar

派大星

272

文章

69

标签

主页
博客
  • 前端
  • JavaScript文章
  • 三级目录
  • 笔记
  • 学习笔记
  • 页面
  • CSS
  • HTML
  • 技术
  • 技术文档
  • GitHub技巧
  • 技术笔记
  • 实用工具
  • Nodejs
  • 博客搭建
  • 更多
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • JavaScript
  • 浏览器&网络
  • 前端框架
  • 资源工具
  • 持续集成
  • 小程序
  • 杂谈
  • React
  • Mysql
  • 面试题
  • uniapp
  • 《ES6 教程》笔记
  • 《Git》学习笔记
  • 《JavaScript教程》笔记
  • 《React》笔记
  • 核心概念
  • 高级指引
  • Hook
  • 案例演示
  • 《TypeScript 从零实现 axios》
  • 初识 TypeScript
  • TypeScript 常用语法
  • ts-axios 项目初始化
  • ts-axios 基础功能实现
  • ts-axios 异常情况处理
  • ts-axios 接口扩展
  • ts-axios 拦截器实现
  • ts-axios 配置化实现
  • ts-axios 取消功能实现
  • ts-axios 更多功能实现
  • ts-axios 单元测试
  • ts-axios 部署与发布
  • 《Vue》笔记
  • 基础
  • 组件
  • 过渡&动画
  • 工具
  • 规模化
  • 可复用性&组合
  • 其他
  • Vuex
标签
时间轴
关于

图解HTTP 读书笔记

vuePress-theme-reco 派大星    2021 - 2022

图解HTTP 读书笔记

派大星 2020-07-19 网络

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

图片加载不出来的话,掘金地址: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 的响应