面试计算机网络框架八股文十问十答第四期
作者:程序员小白条,个人博客
相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新!
⭐点赞⭐收藏⭐不迷路!⭐
1)当在浏览器中输入 Google.com 并且按下回车之后发生了什么?
当在浏览器中输入Google.com并按下回车后,浏览器将发起一个HTTP请求到Google的服务器,请求Google的首页内容。Google的服务器会处理这个请求,返回HTML、CSS、JavaScript等资源给客户端浏览器。浏览器接收到这些资源后,会解析HTML文档,加载和渲染页面内容,执行JavaScript代码,最终呈现出Google的首页在浏览器窗口中。
2)对keep-alive的理解
keep-alive是HTTP头部中的一种指令,用于告诉服务器保持连接处于打开状态,以便在之后的请求中复用相同的连接,从而提高性能。通过keep-alive,客户端浏览器可以在同一TCP连接上发送多个HTTP请求和接收多个HTTP响应,避免频繁地建立和关闭连接,减少网络延迟和资源消耗。
3)页面有多张图片,HTTP是怎样的加载表现?
当页面中有多张图片时,浏览器会根据HTML文档中的标签来发起HTTP请求获取图片资源。浏览器会同时发起多个HTTP请求,但是由于浏览器对同一域名的并发请求有限制,通常为6-8个,并非所有图片都能立即加载。浏览器会根据请求的优先级和当前网络状况来决定图片的加载顺序,并在加载完成后将图片显示在页面上。如果图片资源已经在浏览器缓存中存在,浏览器会直接从缓存中加载图片,而不发起新的HTTP请求。
4)HTTP2的头部压缩算法是怎样的?
HTTP/2使用了HPACK作为头部压缩算法。HPACK采用了基于哈夫曼编码和前缀编码的方式来压缩HTTP报文头部,从而减小传输的数据量。HPACK会维护两个表格:静态表格和动态表格。静态表格包含一组常见的头部字段和对应的值,而动态表格则用于存储当前请求和响应中的头部字段和值。HPACK会根据这两个表格来进行头部压缩和解压缩。
5)HTTP请求报文的是什么样的?
HTTP请求报文包含请求行、请求头部和请求主体三个部分。请求行包含请求方法、请求URL和协议版本,请求头部包含一系列键值对的头部字段,用于传递请求的元数据信息,请求主体可选,用于传递请求的实际数据。
6)HTTP响应报文的是什么样的?
HTTP响应报文包含状态行、响应头部和响应主体三个部分。状态行包含协议版本、状态码和状态信息,响应头部包含一系列键值对的头部字段,用于传递响应的元数据信息,响应主体包含实际的响应数据。
7)HTTP协议的优点和缺点
HTTP协议的优点包括简单、灵活、易于学习和部署,可以跨平台传输数据,支持文本和二进制数据传输。缺点包括传输性能较低,无状态性导致无法保存会话状态,不安全性,易被中间人攻击和劫持,头部信息传输效率低,需要额外的优化和压缩。HTTP/2通过引入多路复用、头部压缩、服务器推送等机制来改进性能和安全性,但仍然存在一些缺点。
8)说一下HTTP 3.0
HTTP/3是基于QUIC协议的新一代HTTP协议,旨在提高网络传输性能和安全性。HTTP/3使用QUIC作为传输协议,QUIC结合了UDP协议和TLS加密,可以减少连接建立和握手的延迟,支持多路复用、0-RTT连接、快速恢复等特性,从而提高网络传输效率和可靠性。HTTP/3通过使用QUIC协议实现了头部压缩、流量控制、拥塞控制等功能,使得网络传输更加高效。
9)HTTP协议的性能怎么样
HTTP协议的性能取决于多个因素,包括网络延迟、带宽、服务器性能、头部大小、连接复用等。传统的HTTP/1.1协议存在串行请求、头部重复传输、连接阻塞等问题,性能较低。HTTP/2引入了多路复用、头部压缩等机制改进了性能,HTTP/3进一步提高了性能和安全性。总体来说,HTTP协议在不断演进和优化中,可以通过使用最新版本的协议和优化手段来提高性能。
10)URL有哪些组成部分
URL(统一资源定位符)由多个部分组成,包括协议、主机、端口、路径、查询字符串和片段。具体组成部分如下:
- 协议:表示要使用的传输协议,例如HTTP、HTTPS、FTP等。
- 主机:表示服务器的域名或IP地址,用于指定请求资源的服务器。
- 端口:表示服务器使用的端口号,默认为80(HTTP)或443(HTTPS)。
- 路径:表示请求资源在服务器上的路径,用于指定资源的具体位置。
- 查询字符串:表示向服务器传递的参数,以键值对的形式出现,用于传递额外的信息。
- 片段:表示页面中的特定位置或锚点,用于跳转到页面内的特定位置。
开源项目地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system
已 300 + Star!
⭐点赞⭐收藏⭐不迷路!⭐