在浏览器地址栏输入一个URL后回车,将会发生的事情

来源:互联网 发布:火线淘宝 军火贩 电影 编辑:程序博客网 时间:2024/05/22 01:37

当用户在搜索框输入URL后

一:浏览器通过域名查找对应的IP地址,是通过负责域名解析的DNS服务来实现的

二:浏览器向Web服务器发送一个HTTP请求

请求的方式主要分为四种:get、post、put、delete(查、改、增、删)。

get:向服务器查找某些数据,请求访问资源

post:向服务器发送应该被保存的数据

put:传输文件

delete:删除文件

head:获得报文头部(用于获取URIDE 有效性和获取资源的日期时间)

三:服务器处理请求,并返回响应,响应结果用状态码来描述。

1xx(信息性状态码)接收的请求正在处理

2xx (成功状态码)请求处理完毕200:客户端发来的请求在服务器端被正确处理了204:服务器接收的请求已被成功处理,但没有资源可以返回206:客户端进行了范围请求,服务器成功执行了这部分请求

3xx (重定向状态码)需要进行附加操作以执行请求301:永久性重定向,表示请求的资源已经被分配了新的URI,以后应使用资源现在所指的URI302:临时重定向。表示请求的资源已经被分配了新的URI304:表示服务器资源未改变,可直接使用客户端未过期的缓存。和重定向没有关系

4xx(客户端错误状态码)服务器无法处理请求 401:状态码发送的请求需要有HTTP认证。403:表示对请求资源的访问被服务器拒绝了。404:服务器上无法找到请求的资源

5xx(服务器端错误状态码)服务器处理请求出错。

四:服务器返回html文件,浏览器开始解析渲染页面

浏览器解析html是自上而下的

1.浏览器载入html代码,创建DOM树

2.解析css

3.将DOMcssOM合并,构造渲染树(render tree)

4.有了render tree,就开始布局渲染树,计算每个节点在屏幕中的位置

5.绘制渲染树

上述过程是逐步实现的,渲染引擎会尽可能早的将内容呈现在屏幕上,并不会等到所有的html解析完再去构建和布局render tree,解析完一部分就显示一部分。


关于script标签的位置:

现在一般都将script标签放在页面底部,这样能确保在脚本执行页面已经完成了DOM树的渲染

javascript的加载和执行的特点:

(1)载入后马上执行;

(2)执行时会阻塞后续的内容(包括页面渲染、其它资源的下载),因为:浏览器需要一个稳定的DOM树结构,而js中很可能有代码直接该表了DOM树的结构,浏览器为了防止出现JS修改DOM树而需要重新构建DOM树的情况,所以就会阻塞其它的下载和呈现,而是执行完js再执行之后的内容。

0 0
原创粉丝点击