首页 > 试题广场 >

【运维方向优先】你用浏览器打开一个电商网站,准备浏览购物。从

[问答题]

【运维方向优先】你用浏览器打开一个电商网站,准备浏览购物。从你输入完网站的网址敲下Enter键,到网站首页迅速呈现出来的这段时间,你的电脑系统里发生了哪些事情?请根据你所学的计算机知识,尽可能详细的解释。(提示:从软硬件的尽量多的层次考虑和描述。)

  1. 硬件方面
  2. 软件方面
  3. 网络方面
  1. 外设与CPU进行通信

    键盘通过外设接口电路与CPU进行通信, 外设接口电路向CPU发起中断请求, 因为该中断请求是可屏蔽中断,所以如果CPU在处理其它的任务优先级比较高时,会屏蔽该中断。

  2. 浏览器解析访问URI的IP地址

    先查询本地hosts文件, 如果找到了对应的IP, 发起http请求.

    如果没有查询到, 用UDP协议访问本机设置的DNS服务器, 如果该DNS服务器缓存了这条记录, 直接返回. 如果网络比较堵塞, 可能有包丢失的情况,但是因为使用的UDP协议,所以不会重传。可能要重新发起一遍查询。 如果该DNS服务器没有这条记录,那么向它的父级DNS服务器进行转发,一直递归这种操作,直到访问根DNS服务器,然后一级级返回,并缓存下这条DNS记录,避免再次向父DNS服务器查询。

  3. 查询到IP之后,发起HTTP请求

    因为http协议是应用层的协议, 它还是要依赖tcp协议进行传输, 而tcp协议是依赖于ip协议的, ip协议是运行在链路层上的. 所以会封装成链路层上传输的包。

  4. 在本机和网关进行通信时是局域网的通信

    局域网通信协议一般是以太网的协议, 所以要先进行载波监听. 争抢带宽的使用权. 如果监听发现已经有通信在进行,则根据策略选择重新监听的时机。 直到线路不再繁忙时再和网关进行通信.

  5. 网关或路由器转发包

    因为路由器是三层设备, 所以是用IP进行通信的。先要进行路由选择, 根据路由选择算法进行路由选择, 转发到不同的端口。

  6. 最后一层路由器转发包给服务器

    服务器防火墙检查包, 如果包通过防火墙进站策略, 则根据包中的端口转发给监听该端口的服务器软件。 否则该包会被丢弃。

  7. 负载均衡

    如果存在负载均衡服务器,通过负载均衡服务器转发给内网应用服务器, 这取决于网站架构

  8. 服务器处理http请求

    如果请求的是静态资源, 如html文件或CSS、JS或者图片文件。则直接返回。 如果是php等动态文件, 则交给PHP模块或PHP CGI进行处理,处理后再交给服务器软件返回给客户端

  9. 客户端

    浏览器对返回的数据进行处理, 如果content-type是html, 那么对html文件进行渲染. 如果content-type是json数据, 那么调用回调函数进行处理
  10. 来自百度
发表于 2018-02-02 11:13:07 回复(0)
输入网址后,应用层的DNS解析网址为ip地址,传输层通过TCP协议发送请求,链路层通过ARP协议将ip地址解析为mac地址。
发表于 2018-01-30 10:25:05 回复(0)