这是我参与「第四届青训营 」笔记创作活动的第5天
1、初识HTTP
HTTP---Hyper Text Transfer Protocol----超文本传输协议(可以承载多种题材)
应用层协议,基于TCP协议
请求响应
简单可扩展
无状态 (每一个请求都是孤立的)
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
丰富的拦截器
用户体验--稳定性(不仅要快还要通)
5、了解更多
WebSocket(实时性高)
QUIC(优化传输)