HTTP | 青训营笔记

53 阅读2分钟

一、本堂课重点内容:

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

  1. HTTP 协议的基本定义
  2. HTTP 协议主要特征
  3. HTTP 协议发展历程
  4. HTTP 协议的报文结构
  5. 场景分析 - 静态资源
  6. 场景分析 - 登录

二、详细知识点介绍:

HTTP是超文本传输协议,属于应用层协议,基于TCP协议。HTTP有请求响应、简单可扩展和无状态特点。无状态是没有记忆能力,每一个请求都是独立存在的。

HTTP发展历程从HTTO0.9-HTTP1.0-HTTP1.1-HTTP2。http1是标准协议,用于链接复用,缓存和内容协商。HTTP2拥有更优异的表现,二进制协议、压缩header和服务器推送等等。当然http3也会在不久的日子里到来。

HTTP协议报文有method和状态码。Method中get、post、put和delete用的比较多。get是请求资源,post是提交资源,put是替换资源,delete是删除资源。状态码中最多的就是200,这是客户端请求成功,当然生活中也有404资源不存在,或504暂无响应。报文中还有常用请求头例如accept、content-type和cookie。也有对应的响应头有content-type,也有一个access-control-allow-origin很重要,他是服务器端允许的请求origin头部,一般都是*。报文中还有缓存分为强缓存和协商缓存。

三、实践练习例子:

静态分析-场景资源。

image.png

该例子的缓存策略是强缓存,时间有一年。同时它可以允许所有域名访问,资源类型是CSS。静态资源方案也可以缓存+CDN(内容分发)+文件名hash。案例中也提到如果要求程序员更改最新的方案同步到用户时,可以更改文件名hash来进行数据同步。

静态分析-登录

image.png 跨域解决方法有CORS和代理服务器。

四、课后个人总结:

HTTP知识点还是很多,但也非常的贴合生活中的入门知识点,学到了很多。但是在静态分析跨域那边一块疑点还是很多,学起来比较吃力,希望课后再接再厉。