HTTP| 青训营笔记

54 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第5天。

一、知识点总结

  1. HTTP背景
  2. HTTP报文
  3. 场景分析 - 静态资源/登录
  4. 浏览器/Node发起请求
  5. 网络优化手段
  6. 其他通信方式

二、笔记

Hyper Text Transfer Protocol超文本传输协议

  • 应用层协议,基于TCP协议
  • 请求 响应
  • 简单可扩展
  • 无状态

报文

Method

Safe安全的:不会修改服务器的数据的方法 GET HEAD OPTIONs
Idempotent幂等:同样的请求被执行一次与连续执行多次的效果是一样的,服务器状态也是一样的,所有safe方法都是idempotent GET HEAD OPTIONS PUT DELETE

状态码
RESTful API

Representational State Transfer 一种API设计风格

常用请求头

类型 缓存相关 Cookie自动带上 来源

常用响应头
缓存

强缓存 直接用
协商缓存 用的时候要确认一下

HTTP/2

更快、更稳定、更简单
帧frame是传输的最小单位
用二进制编码传输,效率更高
消息:逻辑上对应的一系列帧
数据流:双向字节流,可以承载一条或多条消息
可以交错发送
每个目标地址建立的连接可以直接用,是永久的
流控制:阻止发送方向接收方发送大量数据的机制,比如暂停视频
服务器主动推送能力

HTTPS

HTTP+Secure加密
为保证安全,对称加密和非对称加密混用

场景分析

1.缓存
静态资源 性能优化 访问速度
资源变化更新 文件名哈希等 更新
2.登录
跨域 复杂请求 预请求
同源策略是浏览器的安全策略,不是HTTP的
多用代理服务器解决跨域问题
鉴权:刷新以后还是登录状态
单点登录SSO

浏览器发起请求

XHR: XMLHttpRequest
readyState
Fetch: 支持Promise,模块化,支持分块读取

node发起请求

常用请求库axios

网络优化用户体验

1.快:link标签提前声明,数据压缩
2.稳定性:慎重使用重试

拓展:通信方式

WebSocket 延时小,双向通信,URL用ws://或wss://开头,例:网络聊天室
QUIC:Quick UDP Internet Connection 类似TCP的可靠传输。