计算机网络、浏览器相关高频面试题

为什么使用CDN 会更快?

没有使用CDN的情况下,用户从浏览器输入地址,依次经过浏览器缓存、操作系统缓存(如本地host文件)、域名解析服务器、根域名解析服务器、顶级域名服务器直到找到对应的ip地址返回给用户,用户向该地址发起请求;
使用了CDN的情况下,用户在浏览器中输入要访问的域名,浏览器向DNS服务器请求对域名进行解析。由于CDN对域名解析进行了调整,DNS服务器会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。
1、CDN的DNS服务器将CDN的负载均衡设备IP地址返回给用户。
2、用户向CDN的负载均衡设备发起内容URL访问请求。
3、CDN负载均衡设备会为用户选择一台合适的缓存服务器提供服务。选择的依据包括:根据用户IP地址,判断哪一台服务器距离用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器的负载情况,判断哪一台服务器的负载较小。基于以上这些依据的综合分析之后,负载均衡设置会把缓存服务器的IP地址返回给用户。
4、用户向缓存服务器发出请求。
5、缓存服务器响应用户请求,将用户所需内容传送到用户。

浏览器是如何知道什么域名应该交给CND专用的DNS服务器?

1、DNS查询:使用nslookup或者dig等工具查询网站的域名解析结果。如果返回的IP地址与原始主机的IP地址不一致,那么很有可能该网站使用了CDN。
2、响应头:使用浏览器的开发者工具,查看网站的响应头信息。如果响应头中包含类似于"X-Cache","X-CDN"或者"Cache-Control"等字段,那么该网站可能使用了CDN。
3、网络请求路径:通过浏览器的开发者工具,查看网站请求的静态资源(例如图片、CSS、JavaScript等)的URL路径。如果路径中包含类似于"cdn"或者"static"等关键字,那么很有可能该网站使用了CDN。

使用CDN有什么好处?

① 减少网络延迟:CDN在全球各地建立了分布式的服务器节点,将网站的内容缓存到离用户最近的节点。当用户访问网站时,CDN会自动将内容传送到最近的服务器节点,这样可以减少数据在全球范围内传输所需的时间,从而减少网络延迟。
② 节省带宽:由于CDN可以缓存网站的内容,因此当用户访问网站时,CDN会从最近的服务器节点提供内容,而不是从源服务器上提取。这可以减少源服务器的负载,从而节省带宽和服务器资源。
③ 提高网站可用性:当源服务器发生故障或停机时,CDN可以自动将流量重定向到其他可用的服务器节点,从而确保网站的可用性。

浏览器从输入url到呈现发生了什么

1、根据输入的网址解析域名到对应的ip地址,查找顺序:
浏览器缓存、操作系统缓存、路由器缓存、DNS 服务器(记录这域名和ip地址的映射)、根服务器。
2、找到ip地址需要先建立TCP链接
客户端发送 SYN数据包表示请求连接,服务端响应SYN 和 ACK 表示问答,客户端收到后回应一个 ACK数据包表示建立连接成功。
3、发送HTTP请求
完整的请求报文包括请求行(包含请求的方法、url、协议版本)、请求头(浏览器的信息键值对组成)、空行、请求体(请求的数据);
4、服务器处理返回http响应报文
5、(解析DOM)浏览器收到html文件,浏览器会将收到的字节内容、转为字符、token化、转为节点对象,将对象链在一起形成文本对象模型也就是DOM
6、遇到link标签加载css,同时继续解析DOM
7、接收到css文件后通用需要把字节转为字符、token化生产CSSOM
8、如果遇到script标签,下载对应的脚本,CSSOM构建完成后才会执行JS的内容,因为JS即可以操作DOM又可以操作CSSOM,所以需要等js加载完成后再生产渲染树
8、匹配DOM和CSSOM节点,生成渲染树
9、获取节点树的结构、位置、大小、依据盒模型布局
10、将渲染树以像素的形式绘制,呈现网页

cookie、 session、token 的区别

cookie 用户第一次登录请求时服务端在响应头设置set-cookie,浏览器发送请求并携带cookie,服务器验证cookie正确正常响应。
session 用户第一次登录请求时服务端创建一个session,并将sessionId设置在响应头set-cookie给客户端,客户端发送请求并携带cookie,服务端通过sessionId找session,验证正确正常响应。
token 用户第一次登录请求时服务端生产token,token中带有用户id,客户方发送请求时将token放在请求头中,服务端获取到token校验通过后正常响应。
三者的区别:
1、cookie 存储在客户端,大小4KB,不够安全;
2、session 存储在服务端 无大小限制 更安全,但是消耗服务器资源;
3、token 都可以存储,体积小,只存了用户id相对安全,需要根据id查找用户信息速度慢;

说说你对webworker的理解

文章

持续完补充中…欢迎大佬指正

相关推荐

  1. 计算机网络浏览器相关高频面试

    2024-01-10 19:14:02       42 阅读
  2. 计算机网络浏览器面试

    2024-01-10 19:14:02       30 阅读
  3. 计算机网络-面试

    2024-01-10 19:14:02       32 阅读
  4. 计算机网络面试

    2024-01-10 19:14:02       18 阅读
  5. 计算机网络高频判断

    2024-01-10 19:14:02       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-10 19:14:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-10 19:14:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-10 19:14:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-10 19:14:02       20 阅读

热门阅读

  1. GFS 分布式文件系统

    2024-01-10 19:14:02       22 阅读
  2. dockerfile文件详解

    2024-01-10 19:14:02       33 阅读
  3. Python游戏开发:Pygame框架与实例

    2024-01-10 19:14:02       37 阅读
  4. C++经典程序

    2024-01-10 19:14:02       29 阅读
  5. Ubuntu pip换源

    2024-01-10 19:14:02       41 阅读
  6. antv/x6_2.0学习使用(六、事件系统)

    2024-01-10 19:14:02       37 阅读
  7. 技术知识点:Treeshaking是什么?

    2024-01-10 19:14:02       41 阅读
  8. 面试技巧:成为令HR心动的程序猿

    2024-01-10 19:14:02       30 阅读
  9. pytorch详细探索各种cnn卷积神经网络

    2024-01-10 19:14:02       31 阅读
  10. SQL_DCL_管理用户

    2024-01-10 19:14:02       37 阅读
  11. Jtti:OSD磁盘日常监控方法是什么

    2024-01-10 19:14:02       35 阅读