We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
现在面试基本上都离不开http相关的知识点,所以了解一下http其实还是有必要的(至少能在面试的时候更稳一点)
要说http2,我们就先了解下什么是http2,以及http有几个版本
至今为止,http的版本有三个:
三者的区别:
HTTP1.0:默认是短链接,即请求任何一个资源,都会新开一个链接,也就是每次有要经历三次握手,四次挥手,非常消耗资源
HTTP1.1:
总结:
HTTP2:
总结:HTTP2解决了线头阻塞的问题(多路复用),并且在一些其他地方也做了优化处理
在 HTTP/1 中,每次请求都会建立一次HTTP连接,也就是我们常说的3次握手4次挥手,这个过程在一次请求过程中占用了相当长的时间,即使开启了 Keep-Alive ,解决了多次连接的问题,但是依然有两个效率上的问题:
HTTP/2的多路复用就是为了解决上述的两个性能问题。 在 HTTP/2 中,有两个非常重要的概念,分别是帧(frame)和流(stream)。 帧代表着最小的数据单位,每个帧会标识出该帧属于哪个流,流也就是多个帧组成的数据流。 多路复用,就是在一个 TCP 连接中可以存在多条流。换句话说,也就是可以发送多个请求,对端可以通过帧中的标识知道属于哪个请求。通过这个技术,可以避免 HTTP 旧版本中的队头阻塞问题,极大的提高传输性能。
HTTPS是在HTTP协议的基础上多加了一层SSL协议
HTTPS采用的是混合加密
过程如下:
HTTPS相比HTTP更安全:
参考资料:
The text was updated successfully, but these errors were encountered:
No branches or pull requests
写在前面
现在面试基本上都离不开http相关的知识点,所以了解一下http其实还是有必要的(至少能在面试的时候更稳一点)
第 15 题:简单讲解一下http2的多路复用
要说http2,我们就先了解下什么是http2,以及http有几个版本
至今为止,http的版本有三个:
三者的区别:
HTTP1.0:默认是短链接,即请求任何一个资源,都会新开一个链接,也就是每次有要经历三次握手,四次挥手,非常消耗资源
HTTP1.1:
总结:
HTTP2:
总结:HTTP2解决了线头阻塞的问题(多路复用),并且在一些其他地方也做了优化处理
总结
在 HTTP/1 中,每次请求都会建立一次HTTP连接,也就是我们常说的3次握手4次挥手,这个过程在一次请求过程中占用了相当长的时间,即使开启了 Keep-Alive ,解决了多次连接的问题,但是依然有两个效率上的问题:
HTTP/2的多路复用就是为了解决上述的两个性能问题。
在 HTTP/2 中,有两个非常重要的概念,分别是帧(frame)和流(stream)。
帧代表着最小的数据单位,每个帧会标识出该帧属于哪个流,流也就是多个帧组成的数据流。
多路复用,就是在一个 TCP 连接中可以存在多条流。换句话说,也就是可以发送多个请求,对端可以通过帧中的标识知道属于哪个请求。通过这个技术,可以避免 HTTP 旧版本中的队头阻塞问题,极大的提高传输性能。
拓展:HTTPS
HTTPS是在HTTP协议的基础上多加了一层SSL协议
HTTPS采用的是混合加密
过程如下:
HTTPS相比HTTP更安全:
参考资料:
The text was updated successfully, but these errors were encountered: