这是我参与「第四届青训营 」笔记创作活动的的第8天。
一、重点内容:
-
HTTP协议简介
-
HTTP协议的基本结构与发展历程
-
常见场景中的HTTP协议应用
-
在不同的环境中发起HTTP请求
-
知识扩展,了解更多网络通信协议
二、详细内容:
1. 什么是HTTP
- Hyper Text Transfer Protocol超文本传输协议
- 应用层协议,基于TCP协议
- 请求响应
- 简单可扩展
- 无状态
2. HTTP协议
Method
- Safe(安全的):不会修改服务器的数据的方法
- GET HEAD OPTIONS
- ldempotent(幂等)︰同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的
- 所有safe的方法都是ldempotent 的
- GET HEAD OPTIONS PUT DELETE
帧(frame)
HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流。
消息
与逻辑请求或响应消息对应的完整的一系列帧。
数据流
已建立的连接内的双向字节流,可以承载一条或多条消息。
HTTP/2连接都是永久的,而且仅需要每个来源一个连接
流控制
阻止发送方向接收方发送大量数据的机制
对称加密
加密和解密都是使用同一个密钥
非对称加密
加密和解密需要使用两个不同的密钥︰公钥(public key)和私钥(private key)
3. 常见场景中的HTTP协议应用
登录
业务场景
- 表单登录
- 扫码登录技术方式
- SSO
- 账号密码登陆
- 打开控制台- network -勾选 preserve log-过滤quick_login观察请求
为什么有options的请求?
跨域,cross-origin
Cookie技术
针对http协议的无状态特性带来的弊端:无法保存用户的状态。cookie技术应运而生。
cookie技术通过在请求和响应报文中写入Cookie信息来控制(或者说记录)客户端的状态。
1、Cookie技术会根据从服务器端发送的响应报文内的一个叫做Set-Cookie的首部字段信息,通知客户端保存Cookie。
2、客户端再向服务器端发送请求的时候,客户端会在请求报文中加入Cookie值后发送出去。
服务器端会检查客户端发送的请求中有没有Cookie值,然后对比服务器上的记录,最后确定是哪一个客户端,之前的信息状态是什么.
三、课后个人总结:
纸上得来终觉浅,告一段落了,感谢字节,感谢掘金