HTTP与HTTPS

2023-03-06  本文已影响0人  欢西西西

一、http1.1

解决了http1.0时代最重要的2大问题:

http1.0 http1.1
每个TCP连接只能发送一个请求,也就是服务器在发送完一个HTTP响应后会断开TCP连接 浏览器默认开启【长连接】,Connection:keep-alive,在一个TCP连接上可以传送多个HTTP请求和响应
【队头阻塞】多个请求无法并行发送,只能排队 【管线化】,可以并行发出请求,并没有根本解决队头阻塞问题,对于请求的响应仍然遵循先进先出的原则

1.1 Connection: keep-alive

image.png image.png

二、http2.0

2.1 连接复用

image.png

三、服务端消息推送

四、http请求建立TCP连接时的三次握手

主要是确认双方的发送和接收能力是否正常

image.png

五、释放连接时的四次挥手

客户端:申请断开
服务端:已接收到请求
服务端:可以断开
客户端:好的

六、https

6.1 http的弊端

6.2 ssl/tls加密

image.png

6.2.1 服务器申请数字证书

image.png image.png image.png

6.2.2 客户端验证证书

image.png

6.2.3 加密通信

a.png

6.3 http与https的区别

- http https
默认端口 80 443
- image.png
- 明文传输 使用tls协议加密传输

七、 http3

将TCP的握手和tls的握手整合在一起

八、 一些常见的请求头和响应头

- 请求头 响应头
缓存相关 if-modified-since / if-none-match last-modifed / etag / cache-control / expires
content相关 Content-Type / Content-Length 一样
content编码方式 accept-encoding: gzip, deflate, br content-encoding: br
cookie cookie set-cookie
跨域相关 Origin Access-Control-Allow-Origin 、 Access-Control-Allow-Methods、Access-Control-Allow-Headers
跨域相关 Access-Control-Allow-Credentials: true(允许客户端携带验证信息,告知浏览器是否可以将对请求的响应暴露给前端 JavaScript 代码)
上一篇 下一篇

猜你喜欢

热点阅读