浏览器访问网站的过程:
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、图片等资源解析为可以显示和交互的页面

浏览器访问网站的过程相关推荐

  1. 服务器网站打开慢跟什么有关系吗,浏览器访问网站的速度很慢,跟服务器的好差有关系吗?跟域名有关系吗?...

    满意答案 xmm365 2013.11.13 采纳率:40%    等级:12 已帮助:9621人 有关,浏览器访问网站的速度很慢. 首先是你网速的问题,比如你用单位的网,就会很慢; 然后是浏览器的问 ...

  2. 浏览器访问网站标签页小图标显示

    浏览器访问网站标签页小图标显示 1.对于IE浏览器:把需要显示的16x16像素的ICO图标命名为favicon.ICO放置在网站根目录下,浏览器会自动检索 2.对于其他浏览器通用的在标签页加入指定图标 ...

  3. iphone手机safari浏览器访问网站滚动条不显示问题解决办法

    iphone手机safari浏览器访问网站滚动条不显示问题解决办法 参考文章: (1)iphone手机safari浏览器访问网站滚动条不显示问题解决办法 (2)https://www.cnblogs. ...

  4. Python爬虫入门5:模拟浏览器访问网站

    ☞ ░ 前往老猿Python博客 https://blog.csdn.net/LaoYuanPython ░ 一.引言 在前面两节中分别介绍了使用Google浏览器和IE浏览器怎么获取网站访问的htt ...

  5. 计算机网络——访问网站数据传输过程

    如上图所示,当左边的个人电脑(IP地址假设为15.0.0.2,Mac地址假设为m4)申请访问一个网页的时候,需要向图中右边的服务器(IP地址假设为13.0.0.2,Mac地址为m1)发送申请,请求访问 ...

  6. windows 11家庭中文版 使用ie9及以下版本浏览器访问网站

    说明: 最近维护一个网站,浏览器需要使用ie9及以下版本,找了很多方法,后来使用的还是ie11,只做了兼容性视图配置,就好了,挑了其中稍简便的方法,以供参考 我使用的电脑操作系统版本 ![在这里插入图 ...

  7. 火狐浏览器访问网站出现 HTTP Error 400. The request is badly formed.错误,怎么解决

    今天在访问某个网站时,出现一个"HTTP Error 400. The request is badly formed."错误, 那么应该如何解决呢? 1.问题描述: 用火狐浏览网 ...

  8. 浏览器访问互联网的过程

    用户输入域名,回车: 1 计算机查看DNS缓存,取得目的域名的IP地址:若无,则根据本机配置的域名服务器查询IP(完成一次访问过程,过程相同): 2 取得IP地址后,交给传输层,TCP与目的主机进行三 ...

  9. 第11天 浏览器访问网站的基本流程

    1.用户输入网址 2.浏览器请求DNS服务器,获取域名对应的IP地址(DNS服务器就是有该网络中所有域名和对应主机号的可以转换的一种服务器) 3.请求连接该IP地址的服务器 4.发送资源请求(遵循HT ...

最新文章

  1. 独家 | 聊天机器人开发中的机器学习(附链接)
  2. 中美5G竞争的未来路线图
  3. strcmp()字符串比较函数
  4. 一个设计项调另一个设计项(支持多选传值)
  5. c语言第4份实验报告,C语言实验报告04.doc
  6. PyCharm点击设置没反应,无法进行设置
  7. 调查:12%受访者认为2021年比特币将突破10万美元
  8. uoj #111. 【APIO2015】Jakarta Skyscrapers
  9. 屏幕方向调节---LANDSCAPE与PORTRAIT
  10. CAM365|超高性价比CAM软件推荐
  11. 在Ubuntu上使用Netdata设置实时性能监控
  12. 如何区分独立服务器与VPS主机?
  13. 武汉音乐学院计算机音乐作曲,武汉音乐学院作曲系6部学生作品入围2019年中国大学生计算机设计大赛决赛...
  14. 易语言制作计算软件简单步骤_ps软件制作一寸照,原来如此简单
  15. 劳务员培训建筑八大员培训劳务员对劳务分包企业管理的建议
  16. 小程序-实现左右菜单联动功能
  17. 高精地图语义分割标注
  18. XM外汇是什么平台?可以交易哪些产品?
  19. 区块链是什么?区块链投资靠谱吗?
  20. PS修图嘴斜和PS黑白照片

热门文章

  1. Word转换成PDF文件在线转换
  2. 模拟战役题解(dfs,联通块,贪心)
  3. nginx+uwsgi+flask的部署
  4. 吃西瓜--爬虫系列之Request使用方法
  5. iOS --- 使用NSJSONSerialization来解析JSON格式的数据
  6. 全国最美的美女机器人 机械制造技术“屌”到爆
  7. MTK平台 更换前后camera的MIPI CSI接口
  8. 【高项】第8章 项目质量管理【知识点精华笔记】
  9. missing or miss?
  10. Java 字符串匹配算法道路匹配