HTML实用指南 | 青训营笔记
这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天
(仅供自己参考,技术点请看字节整理的资料和相应官方技术文档)
这是前端入门 - 工程篇系列里的第2篇《HTML实用指南》
1. 本堂课重点内容:
1.1 课程介绍
- HTTP协议简介
- HTTP协议的基本结构与发展历程
- 常见场景中的HTTP协议应用
- 在不同的环境中发起HTTP请求
- 知识扩展,了解更多网络通信协议
- 复习,都是概念
-
浏览器输入网址后,究竟发生了什么
-
HTTP协议历史(什么时候增加了状态)
-
这个图要能口述
-
-
Method
- 安全的请求,aka不会修改服务器数据的方法,读(GET HEAD OPTIONS)
- 幂等的请求:同样的请求执行一次与连续执行多次的效果是一样的,且服务器的状态也是一样的。
-
状态码
304:资源/缓存未修改
401:客户端的请求没有携带权限信息
-
常用请求头Header
Content-Type: 表明是JSON还是FORM DATA
与缓存相关的协议头
Cookie:HTTP是无状态的请求,但希望带入比如用户是否登录的请求
-
常用响应头
-
缓存:请求的资源本地若有,是否是强缓存/ 可以直接用;没有,那有协商缓存吗?。需要验证这个缓存是否是最新的,因此需要设定一些东西来做这个验证步骤
- 有一个流程图
-
Cookie
- Set-Cookie字段:server返回,让浏览器设置的一些字段信息
-
为什么说HTTP2更快、更稳定、更简单(看图)
- 帧是传输的最小单位,数据压缩(更快)
- 服务器推送:在stream1中解析到import了js和css文件,则服务器主动推送这两个资源
-
HTTPS:经过加密(看图,能口述)
场景分析
-
状态码200一定发起了请求吗?
-
登录
- 跨域:网址由scheme+host name+port组成;只要有一部分不同,就是跨域www.eample.com:443
- 跨域请求如何被处理(访问控制的协议头accept-control,来做跨域是否能被访问)
- POST:提交登录表单
- 为什么刷新后能记住登录状态:session+cookie鉴权(第一次POST,在server创建一个session并种在cookie中)后续;JWT(JSON web token)
- SSO单点登录(不同域名/子应用,但是只登录一次就可,登录信息可以共享,这是怎么做到的)
实际使用
-
如何发起http协议
AJAX的XHRFetch可以避免回调地域的问题;支持Promise -
在node中发起请求
-
axios请求库(Fetch和axios简单了好多)
WebSocket:实时性要求特别高--全双工通讯
1.2 课程重点
2. 详细知识点介绍:
三、实践练习例子:
- 有什么实践举例帮助理解知识点?
四、课后个人总结:
- 本章有什么知识点不容易掌握?
- 什么地方容易与其他内容混淆?
五、引用参考:
-
学习建议:
-
相对来讲HTTP协议的常用知识不复杂,“基础篇”材料中,MDN 可以作为工具查询,“图解 HTTP” 与 “HTTP 权威指南” 选择一个阅读,作为体系化学习资料
-
进阶篇中提供的是标准协议描述,感兴趣的同学阅读即可,也可作为工具使用
-
基础篇
- An overview of HTTP - HTTP | MDN
- 图解 HTTP
- HTTP 权威指南
-
进阶篇
-