浏览器地址栏输入url到页面呈现的整个过程

地址栏输入url,

  1. 要通过dns解析(浏览器是不能识别url地址的,需解析成ip地址),
  2. 返回相对应的IP地址,
  3. 建立tcp连接,(tcp三次握手)
  4. 发送Http请求,
  5. 服务器进行处理并返回Http报文,
  6. 浏览器渲染页面,
  7. 断开连接(tcp四次挥手)

 

 一.URL

URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上资源,俗称网址。

 语法:scheme://host.domain:port/path/filename

例子:      https:// www.baidu.com:80

 

二、域名解析(DNS)

1.域名解析:DNS 协议提供通过域名查找 IP 地址,或逆向从 IP 地址反查域名的服务。DNS 是一个网络服务器,我们的域名解析简单来说就是在 DNS 上记录一条信息记录。

2.目的: 浏览器是不能通过url地址查找到对应的服务器,需通过ip地址。

3.通过域名查找IP地址的过程:

  1. 浏览器缓存
  2. 操作系统缓存
  3. 路由缓存
  4. ISP 的 DNS 服务器:ISP 是互联网服务提供商(Internet Service Provider)的简称,ISP 有专门的 DNS 服务器应对 DNS 查询请求。
  5. 根服务器

三 .Tcp连接(三次握手)

1.目的:同步客户端和服务端的序列号和确认号,并交换TCP窗口大小信息。防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误

 

 

 

四.发送http请求

请求报文 包括:请求行、请求头、请求体 。

  • 请求方法包含 8 种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。

  • 请求头包含请求的附加信息,由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。

  • 请求体,可以承载多个请求参数的数据,包含回车符、换行符和请求数据,并不是所有请求都具有请求数据。例:name=tom&password=1234&realName=tomson(name、password、realName 三个请求参数)

 五、服务器处理请求并返回HTTP报文

1.服务器是网络环境中的高性能计算机,它侦听网络上的其他计算机(客户机)提交的服务请求,并提供相应的服务,比如网页服务、文件下载服务、邮件服务、视频服务。而客户端主要的功能是浏览网页、看视频、听音乐等等,两者截然不同。 每台服务器上都会安装处理请求的应用——web server。常见的 web server 产品有 apache、nginx、IIS 或 Lighttpd 等。

2.mvc后台处理请求:浏览器发送过来的请求先经过控制器,控制器进行逻辑处理和请求分发,接着会调用模型,这一阶段模型会获取 redis db 以及 MySQL 的数据,获取数据后将渲染好的页面,响应信息会以响应报文的形式返回给客户端,最后浏览器通过渲染引擎将网页呈现在用户面前。

3.http响应报文 包含: 响应行、响应头、响应主体。

 

状态码规则:

1xx:指示信息--表示请求已接收,继续处理。
2xx:成功--表示请求已被成功接收、理解、接受。
3xx:重定向--要完成请求必须进行更进一步的操作。
4xx:客户端错误--请求有语法错误或请求无法实现。
5xx:服务器端错误--服务器未能实现合法的请求。

 

六、浏览器解析渲染页面

1.概念:

  • 重绘:某个元素的背景颜色,文字颜色等,不影响元素周围或内部布局的属性,将只会引起浏览器的重绘。

  • 回流:某个元素的尺寸发生了变化,则需重新计算渲染树,重新渲染。

 

2.步骤: 

  1. 根据 HTML 解析出 DOM 树

  2. 根据 CSS 解析生成 CSS 规则树

  3. 结合 DOM 树和 CSS 规则树,生成渲染树

  4. 根据渲染树计算每一个节点的信息

  5. 根据计算好的信息绘制页面

七、断开连接

 数据传送完,需断开tcp连接,此时发起tcp四次挥手。

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值