1.tcp 三次握手
第一次:客户端——>SYN=1,Seq=X——>服务器端 客户端给服务器端说我来了
第二次:服务器端——>SYN=1,ACK=X+1,Seq=Y——>客户端 服务器说我收到了,我给你说我来了
第三次:客户端——>ACK=Y+1,Seq=Z——>服务器端 客户端说我收到你的消息了 至此成功建立连接
2.http状态码
200 请求成功
304 请求后,网页为修改
400 服务器不理解请求
401 请求要求身份验证
403 服务器拒绝请求
404 找不到请求资源
500 服务器内部错误
3.Keep-Alive
没有keep-alive的时候每次请求都会建立一次http链接,Keep-Alive解决的核心问题:一定时间内,同一域名多次请求数据,只建立一次HTTP请求,其他请求可复用每一次建立的连接通道,以达到提高请求效率的问题。
4.http2 优势
二进制分帧层:HTTP/2不再使用文本格式来传输数据,而是将所有传输的信息分割为更小的消息和帧(frame),并以二进制格式进行编码。这有助于更高效地解析HTTP消息,并减少了解析错误的可能性。
多路复用:HTTP/2引入了多路复用技术,允许在单个TCP连接中并行处理多个请求和响应。这消除了HTTP/1.x中的队头阻塞问题,极大地提高了网络性能和资源利用率。
头部压缩:HTTP/2使用了头部压缩技术,通过共享头部信息,可以显著减少传输的数据量。这有助于减少延迟和网络带宽的消耗,特别是在传输大量小请求时效果更为显著。
服务器推送:HTTP/2允许服务器主动向客户端推送资源,而无需等待客户端的请求。这有助于减少往返时间,并提高网页加载速度。
流量控制:HTTP/2通过流控制、消息控制和窗口控制等机制,实现了对流量的精细控制,有助于防止网络拥塞和资源浪费。
总的来说,HTTP/2相对于HTTP/1.x在传输效率、安全性、网络性能等方面都有显著的提升。这些优势使得HTTP/2成为现代Web应用中广泛采用的协议标准。
5.从输入URL到看到页面发生的全过程
用户输入URL->浏览器解析URL->建立TCP连接->发送HTTP请求->服务器处理请求->发送HTTP响应->浏览器解析和渲染页面
6.https是怎么保证安全的,为什么比http安全
加密传输,身份验证,数据完整性保护