HTTP使用指南 | 青训营笔记

83 阅读2分钟

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

初识HTTP

什么是HTTP?

  • Hyper Text Transfer Protocol(超文本传输协议)
  • 应用层协议,基于TCP协议
  • 请求 响应
  • 简单可扩展
  • 无状态,每一个请求之间是孤立的

协议分析

发展历程

image.png

HTTP/2概述:更快、更稳定、更简单

  • 帧(frame) : HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流
  • 消息:与逻辑请求或响应消息对应的完整的一系列帧
  • 数据流:已建立的连接内的双向字节流,可以承载一条或多条消息
  • 二进制传输
  • 交错发送,接收方重组织
  • HTTP/2连接都是永久的,而且仅需要每个来源一个连接
  • 流控制:阻止发送方向接收方发送大量数据的机制
  • 服务器推送

状态码

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

缓存

  • 强缓存:浏览器直接从本地缓存中获取数据,不与服务器进行交互
  • 协商缓存:浏览器发送请求到服务器,服务器判断是否可使用本地缓存 image.png

场景分析

静态资源

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

  • CDN:Content Delivery Network
  • 通过用户就近性和服务器负载的判断,CDN确保内容以—种极为高效的方式为用户的请求提供服务

登录

业务场景

  • 表单登录
  • 扫码登陆

技术方式

  • SSO(Single Sign On):单点登录
  1. 向什么地址做了什么动作?
  1. 携带了哪些信息,返回了哪些信息
  • 携带信息
  • Post body,数据格式为form
  • 希望获取的数据格式为json
  • 已有的cookie
  • 返回信息
  • 数据格式json
  • 种cookie的信息