加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

从URL输入到页面展现到底发生什么?

发布时间:2020-01-16 05:07:23 所属栏目:站长百科 来源:站长网
导读:副问题#e# 媒介 打开赏识器从输入网址到网页出此刻各人眼前,背后到底产生了什么?经验怎么样的一个进程?先给各人来张总体流程图,详细步调请看下文解析! 总体来说分为以下几个进程: DNS 理会:将域名理会成 IP 地点 TCP 毗连:TCP 三次握手 发送 HTTP 哀求

哀求头部关照处事器有关于客户端哀求的信息。它包括很多有关的客户端情形和哀求正文的有效信息。个中好比:Host,暗示主机名,假造主机;Connection,HTTP/1.1 增进的,行使 keepalive,即耐久毗连,一个毗连可以发多个哀求;User-Agent,哀求发出者,兼容性以及定制化需求。

3.哀求体,可以承载多个哀求参数的数据,包括回车符、换行符和哀求数据,并不是全部哀求都具有哀求数据。

name=tom&password=1234&realName=tomson 

上面代码,承载着 name、password、realName 三个哀求参数。

五、处事器处理赏罚哀求并返回 HTTP 报文

1. 处事器

处事器是收集情形中的高机能计较机,它侦听收集上的其他计较机(客户机)提交的处事哀求,并提供响应的处事,好比网页处事、文件下载处事、邮件处事、视频处事。而客户端首要的成果是赏识网页、看视频、听音乐等等,两者截然差异。每台处事器上城市安装处理赏罚哀求的应用——web server。常见的 web server 产物有 apache、nginx、IIS 或 Lighttpd 等。web server 接受管控的脚色,对付差异用户发送的哀求,会团结设置文件,把差异哀求委托给处事器上处理赏罚响应哀求的措施举办处理赏罚(譬喻 CGI 剧本,JSP 剧本,servlets,ASP 剧本,处事器端 JavaScript,可能一些其余的处事器端技能等),然后返回靠山措施处理赏罚发生的功效作为相应。

从URL输入到页面揭示到底产生什么?

2.MVC 靠山处理赏罚阶段

靠山开拓此刻有许多框架,但大部门都照旧凭证 MVC 计划模式举办搭建的。MVC 是一个计划模式,将应用措施分成三个焦点部件:模子(model)-- 视图(view)--节制器(controller),它们各自处理赏罚本身的使命,实现输入、处理赏罚和输出的疏散。

从URL输入到页面揭示到底产生什么?

1、视图(view)

它是提供应用户的操纵界面,是措施的外壳。

2、模子(model)

模子首要认真数据交互。在 MVC 的三个部件中,模子拥有最多的处理赏罚使命。一个模子能为多个视图提供数据。

3、节制器(controller)

它认真按照用户从"视图层"输入的指令,选取"模子层"中的数据,然后对其举办响应的操纵,发生最终功效。节制器属于打点者脚色,从视图吸取哀求并抉择挪用哪个模子构件行止理赏罚哀求,然后再确定用哪个视图来表现模子处理赏罚返回的数据。这三层是细密接洽在一路的,但又是相互独立的,每一层内部的变革不影响其他层。每一层都对外提供接口(Interface),供上面一层挪用。至于这一阶段产生什么?简而言之,起首赏识器发送过来的哀求先颠小节制器,节制器举办逻辑处理赏罚和哀求分发,接着会挪用模子,这一阶段模子会获取 redis db 以及 MySQL 的数据,获取数据后将渲染好的页面,相应信息会以相应报文的情势返回给客户端,最后赏识器通过渲染引擎将网页出此刻用户眼前。

3.http 相应报文

相应报文由相应行(request line)、相应头部(header)、相应主体三个部门构成。如下图所示:

从URL输入到页面揭示到底产生什么?

(1) 相应行包括:协议版本,状态码,状态码描写

状态码法则如下:1xx:指示信息--暗示哀求已吸取,继承处理赏罚。2xx:乐成--暗示哀求已被乐成吸取、领略、接管。3xx:重定向--要完成哀求必需举办更进一步的操纵。4xx:客户端错误--哀求有语法错误或哀求无法实现。5xx:处事器端错误--处事器未能实现正当的哀求。

(2) 相应头部包括相应报文的附加信息,由 名/值 对构成

(3) 相应主体包括回车符、换行符和相应返回数据,并不是全部相应报文都有相应数据

六、赏识器理会渲染页面

赏识器拿到相应文本 HTML 后,接下来先容下赏识器渲染机制

从URL输入到页面揭示到底产生什么?

赏识器理会渲染页面分为一下五个步调:

按照 HTML 理会出 DOM 树

按照 CSS 理会天生 CSS 法则树

团结 DOM 树和 CSS 法则树,天生渲染树

按照渲染树计较每一个节点的信息

按照计较好的信息绘制页面

1.按照 HTML 理会 DOM 树

按照 HTML 的内容,将标签凭证布局理会成为 DOM 树,DOM 树理会的进程是一个深度优先遍历。即先构建当前节点的全部子节点,再构建下一个兄弟节点。

在读取 HTML 文档,构建 DOM 树的进程中,若碰着 script 标签,则 DOM 树的构建会停息,直至剧本执行完毕。

2.按照 CSS 理会天生 CSS 法则树

理会 CSS 法则树时 js 执行将停息,直至 CSS 法则树停当。

赏识器在 CSS 法则树天生之前不会举办渲染。

3.团结 DOM 树和 CSS 法则树,天生渲染树

DOM 树和 CSS 法则树所有筹备好了往后,赏识器才会开始构建渲染树。

精简 CSS 并可以加速 CSS 法则树的构建,从而加速页面响应速率。

4.按照渲染树计较每一个节点的信息(机关)

机关:通过渲染树中渲染工具的信息,计较出每一个渲染工具的位置和尺寸

回流:在机关完成后,发明白某个部门产生了变革影响了机关,那就必要倒归去从头渲染。

5.按照计较好的信息绘制页面

绘制阶段,体系会遍历泛起树,并挪用泛起器的“paint”要领,将泛起器的内容表现在屏幕上。

重绘:某个元素的配景颜色,笔墨颜色等,不影响元素周围或内部机关的属性,将只会引起赏识器的重绘。

回流:某个元素的尺寸产生了变革,则需从头计较渲染树,从头渲染。

七、断开毗连

当数据传送完毕,必要断开 tcp 毗连,此时提倡 tcp 四次挥手。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读