HTTP 实用指南| 青训营笔记

88 阅读1分钟

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


一、初识HTTP

  • Hyper Text Transfer Protocol 超文本传输协议
  • 于TCP协议 应用层
  • 对:请求——响应
  • 自定义:可扩展
  • 无状态,孤立请求

二、协议分析

-可扩展性:1.0

  • 标准化:HTTP1.0
  • 传输表现:HTTP2

报文 image.png 安全性/幂等(Idempotent):不会修改服务器数据;同意的请求执行多次效果相同。

image.png

REStful API

  1. 用URL代表资源
  2. 客户端与服务器端传输此资源的表现层
  3. 客户端通过method操作,实现“表现层状态转化”

缓存 image.png

cookie image.png

通信的最小单位: 与请求或相应相关的为 消息

双向字节流形成消息

HTTP/2 可阻止接收数据

HTTPS经过TSL/SSL加密

image.png

三、场景分析

分析请求策略:网络-静态资源 缓存+CDN+文件名.hash

高效分发网络

登录

今日头条——quick_login

动作: 有option请求; 跨域 COPS

  • 代理服务器
  • Iframe

预请求:获知服务端是否允许跨域源请求(复杂请求) 发协议头

携带Post body, 格式为form,已有cookie 返回json, cookie信息

跳转后能自动登录?

SSO单点登录

image.png 检验登陆状态

四、实战

浏览器/node.js

通过AJAX之xhr

Fetch

  • 使用Promise
  • 模块化设计 Response, Request, Header对象
  • 以数据流处理对象,支持分块读取

请求库:axios, 有丰富拦截器

H2网络优化: 速度, 稳定性

五、更多

WebSocket套阶

image.png

Quick UDP Internet Connection 低延迟, 轻量化