浏览器访问网站的过程


浏览器访问网站的过程:
1、DNS解析:
(1)为什么进行DNS解析?
域名解析是将域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。对于网站来说,在经过域名解析这一流程后,网民可以通过该域名轻松方便地访问网站。如果不进行解析的话,域名就无法正常使用。

(2)系统缓存查询
(3)路由器缓存、ISP缓存
(4)DNS递归查询

2、TCP连接:
(1)三次握手
(2)四次分手

3、HTTP请求:

一次完整的http请求处理过程:
(1)建立连接:接收或拒绝连接请求

(2)接收请求:接收客户端请求报文中对某资源的一次请求的过程

(3)处理请求:服务器对请求报文进行解析,并获取请求的资源及请求方法等相关信息,根据方法,资源,首部和可选的主体部分对请求进行处理
常用请求Method: GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS

(4)访问资源:服务器获取请求报文中请求的资源web服务器,即存放了web资源的服务器,负责向请求者提供对方请求的静态资源,或动态运行后生成的资源

(5)构建响应报文:一旦Web服务器识别除了资源,就执行请求方法中描述的动作,并返回响应报文。响应报文中包含有响应状态码、响应首部,如果生成了响应主体的话,还包括响应主体
1)响应主体:如果事务处理产生了响应主体,就将内容放在响应报文中回送过去。响应报文中通常包括:描述了响应主体MIME类型的Content-Type首部、描述了响应主体长度的Content-Length、实际报文的主体内容
2)URL重定向:web服务构建的响应并非客户端请求的资源,而是资源另外一个访问路径
3)MIME类型: Web服务器要负责确定响应主体的MIME类型。多种配置服务器的方法可将MIME类型与资源管理起来

(6)发送响应报文:Web服务器通过连接发送数据时也会面临与接收数据一样的问题。服务器可能有很多条到各个客户端的连接,有些是空闲的,有些在向服务器发送数据,还有一些在向客户端回送响应数据。服务器要记录连接的状态,还要特别注意对持久连接的处理。对非持久连接而言,服务器应该在发送了整条报文之后,关闭自己这一端的连接。对持久连接来说,连接可能仍保持打开状态,在这种情况下,服务器要正确地计算Content-Length首部,不然客户端就无法知道响应什么时候结束

(7)记录日志:最后,当事务结束时,Web服务器会在日志文件中添加一个条目,来描述已执行的事务

HTTP状态码是用来表示网页服务器HTTP响应状态的3位数字代码。

常见的HTTP状态码:

200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
400 (错误请求) 服务器不理解请求的语法。
401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403 (禁止) 服务器拒绝请求。
404 (未找到) 服务器找不到请求的网页。
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。

4、浏览器的渲染原理:
(1)构建DOM
(2)构建CSSOM树
(3)构建渲染树
(4)合成、绘制


浏览器的工作流程:
(1)浏览器首先使用HTTP协议或者HTTPS协议,向服务端请求页面
(2)把请求回来的HTML代码经过解析,构建成DOM树
(3)计算DOM树上的CSS属性
(4)根据CSS属性对元素逐个进行渲染,得到内存中的位图
(5)一个可选的步骤是对位图进行合成,这会极大地增加后续绘制的速度
(6)合成之后,再绘制到界面上。

浏览器进程的职责:主要负责用户交互、子进程管理和文件存储等功能
网络进程的职责:面向渲染进程和浏览器进程等提供网络下载功能
渲染进程的职责:把从网络下载的HTML、JavaScript、CSS、图片等资源解析为可以显示和交互的页面

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直在努力学习的菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值