从输入url到页面加载完成发生了什么

当用户输入url地址时,大致发生以下几步:

  1. 输入网址,点击回车;
  2. 浏览器查找当前URL是否存在缓存,并比较缓存是否过期(包括浏览器缓存、系统缓存、路由器缓存)
  3. 发送到DNS服务器,并获取域名对应ip地址;
  4. 与web服务器建立TCP连接;
  5. 浏览器向服务器发送http请求;
  6. 服务器响应请求,并返回指定url的数据(或错误信息,或重定向的新的url地址);
  7. 浏览器下载服务器返回的数据及解析html源文件;
  8. 生成DOM树,解析css和js,渲染页面,直至显示完成;

解释:

HTTP请求报文是由三部分组成: 请求行请求报头请求正文

HTTP响应报文也是由三部分组成: 状态码响应报头响应报文

状态码

状态码是由3位数组成,第一个数字定义了响应的类别,且有五种可能取值:

1xx:指示信息–表示请求已接收,继续处理。

2xx:成功–表示请求已被成功接收、理解、接受。

3xx:重定向–要完成请求必须进行更进一步的操作。

4xx:客户端错误–请求有语法错误或请求无法实现。

5xx:服务器端错误–服务器未能实现合法的请求。
平时遇到比较常见的状态码有:200, 204, 301, 302, 304, 400, 401, 403, 404, 422, 500(分别表示什么请自行查找)。

200 请求已成功,请求所希望的响应头或数据体将随此响应返回。

301 被请求的资源已永久移动到新位置。

307 重新请求的URL,客户端自动重新请求新的地址

400 语义有误,当前请求无法被服务器理解或者请求参数有误。

403 服务器已经理解请求,但是拒绝执行它。

404 服务器找不到给定的资源;文档不存在。

405 请求行中指定的请求方法不能被用于请求相应的资源。
 

猜你喜欢

转载自blog.csdn.net/lianwenxiu/article/details/87922216