HTTP|青训营笔记

55 阅读2分钟

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

1、初识HTTP

1.jpg HTTP---Hyper Text Transfer Protocol----超文本传输协议(可以承载多种题材)
应用层协议,基于TCP协议
请求响应
简单可扩展
无状态 (每一个请求都是孤立的)

2.jpg

2、协议分析

发展:

HTTP/0.9 单行协议
HTTP/1.0 创建可扩展性
HTTP/1.1 准化协议
HTTP/2 更优异常的表现
HTTP/3 草案

RESTful API:一种API设计风格:REST:Representational State Transfer

符号API的设计风格:

1、每一个URI都代表一种资源
2、客户端和服务器之间,传递这种资源的某种表现层:
3、客户端通过HTTP methlod,对服务器资源端进行操作,实现“表现层状态转化”

HTTPS概述:Hypertext Tranfer Protocol Protocol Secure 经过TSL/SSL加密

对称加密:加密和解密都是使用同一个密匙
非对称加密:加密和解密需要使用两个不同的密匙:公匙,和私匙

3、场景分析

静态资源方案:缓存+CDN+文件名hash CDN:Content DeliveryNetwork(内容分发的保护) 通过用户就近性服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。

跨域请求(一般分为复杂和简单的请求,复杂请求会先进行一个预请求0

解决方案
CORS
代理服务器
同源策略是浏览器的安全策略,不是HTTP的 Ifeame (限制比较多,用的也少) 诸多不便

4、node篇

标准库:HTTP/HTTPS

默认模块,无需安装其它依赖
功能有限/不是十分友好

常见的请求库:axios

支持浏览器,nodejs
丰富的拦截器

3.jpg

用户体验--稳定性(不仅要快还要通)

11.jpg 5、了解更多 WebSocket(实时性高)

22.jpg QUIC(优化传输)

33.jpg