初识HTTP
流程:用户输入网址=>browser处理输入信息=>浏览器内核发起请求=>internet服务=>浏览器内核读取响应=>浏览器内核渲染=>页面加载完成。
HTTP:指超文本传输协议,是应用层协议,基于TCP协议,简单可扩展、无状态
发展历程:HTTP/0.9单行协议=>HTTP/1.0构建可扩展性=>HTTP/1.1标准化协议=>HTTP/2更优异的表现=>HTTP/3草案
Method:安全的 不会修改服务器的数据的方法、幂等 同样的请求被执行一次与连续执行多次效果是一样的 服务器的状态也是一样的 所有safe的方法都是Idempotent
RESful API:一种API设计风格;每个URI代表一种资源;客户端和服务器之间,传递这种资源的某种表现层;客户端通过HTTP method,对服务器端资源进行操作,实现“表现层状态转化”
Cookie:每一个cookie都是以键值对方式存在。
HTTP/2:更快、更稳定、更简单。HTTP/2连接都是永久的,而且仅需要每个来源一个连接。
帧:HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流,采用二进制编码进行传输。
消息:与逻辑请求或响应消息对应的完整的一系列帧。
数据流:已建立的连接内的双向字节流,可以承载一条或多条消息。
流控制:组织发送方向发送大量数据的机制。
HTTPS:相比于HTTP经过TSL/SSL加密
对称加密:加密和解密都是使用同一个密钥
非对称加密:加密和解密需要使用两个不同的密钥,公钥和私钥。
场景分析
静态资源方案:缓存+CDN+文件名hash
CDN:Content Delivery Network 通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提高服务。
跨域CORS:获知服务端是否也许该跨源请求。
个人心得
本次课程分为三小节,第一节为我们介绍了HTTP的概念、方法、发展以及各个名词解释还有HTTP/2的特性、帧、数据流等。第二节借助场景分析讲了静态资源、登录这两大案例。而第三节课则是实战,详细指导了浏览器中的如何使用封装、node中的发送请求、用户体验里的网络优化以及通信方式的扩展等。本次课程极大的丰富了我的视野,使我受益匪浅。