[HTTP 使用指南 | 青训营笔记]

126 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第9天。活动详情:# 伴学笔记创作活动来袭 | 第五届字节跳动青训营

初识 HTTP 协议

本节课前置介绍 Http 协议的基本定义和特点,在此基础上,对于 Http 协议的发展历程及报文结构展开进一步分析。

  1. HTTP 协议的基本定义:Hyper Text Transfer Protocol 超文本传输协议

  2. HTTP 协议的报文结构 Method:Safe Idempotent 所有safe的方法都是Idempotent的

    状态码:1XX~5XX

  • 1:指示信息,表示请求已接收,继续处理
  • 2:成功,请求已被成功接收,理解,接收
  • 3:重定向,需完成请求必须进行更进一步的操作
  • 4:客户端错误,请求语法错误或请求无法实现
  • 5:服务器端错误,服务器未能实现合法请求
  1. RESTful API(API设计风格) 每个URL代表一种资源 客户端和服务器之间传递这种资源的某种表现层 客户端通过HTTP method对服务器端资源进行操作,实现表现层状态转化

  2. 常用请求头/常用响应头

  3. 缓存:强缓存/协商缓存

  4. cookie Set-Cookie-response

  5. HTTP/2:帧 消息(一系列帧) 数据流(可承载一条或多条消息) 连接是永久的,仅需要每个来源一个链接(链接的复用性) 流控制:组织发送方向接收方发送大量数据 服务器推送

  6. HTTPS:经过TSL/SSL加密 对称加密(同一密钥)、非对称加密(公钥和私钥)混用

HTTP 协议的应用场景分析

在本节课中将为大家带来 HTTP 真实的场景实践,以「今日头条」浏览器为例,为大家展示线上的 demo,对于该案例涉及的请求中的缓存策略展开具体分析。

  • 静态资源方案:缓存+CDN+文件名Hash

  • 登录:

    • 表单登录 options请求
    • 鉴权:Session+cookie/JWT(JSON web token)
    • 单点登录SSO
  • 跨域:cross-origin:协议scheme 子域host_name 端口号port

  • 解决跨域的方案:

    • CORS 协议头:权限控制
    • 代理服务器
    • Iframe