2020-07-02:在浏览器输入一个url后按回车,会发生什么?

举报
福大大架构师每日一题 发表于 2020/08/19 10:55:30 2020/08/19
【摘要】 福哥答案2020-07-02:简单回答:1. 域名解析。2. 建立TCP连接。3. 请求。4. 处理。5. 响应。6. 释放TCP连接。7. 页面渲染。中级回答:1. 域名解析1.1. 浏览器DNS缓存。1.2. 操作系统DNS缓存。1.3. 路由器缓存。1.4. ISP 服务商缓存。1.5. 根服务器递归查询。2. 建立TCP连接。三次握手。3. 请求。请求报文格式:3.1. 请求行。请求...

福哥答案2020-07-02:


简单回答:

1. 域名解析。

2. 建立TCP连接。

3. 请求。

4. 处理。

5. 响应。

6. 释放TCP连接。

7. 页面渲染。


中级回答:

1. 域名解析

1.1. 浏览器DNS缓存。

1.2. 操作系统DNS缓存。

1.3. 路由器缓存。

1.4. ISP 服务商缓存。

1.5. 根服务器递归查询。

2. 建立TCP连接。三次握手。

3. 请求。

请求报文格式:

3.1. 请求行。

请求方式、url、版本,比如 POST  index.html  / HTTP/1.1。

3.2. 请求头。

键值对,比如Connection: Keep-Alive。

3.3. 空行。

3.4. 请求体。

3.4.1. 键值对,比如Pn=2&kw=nba。

3.4.2. 分隔符上传文件。

Content-Type:multipart/form-data;boundary=-----------------------------7db372eb000e2

-------------------------------7db372eb000e2

Content-Disposition: form-data; name="file"; filename="kn.jpg"

Content-Type: image/jpeg

(此处省略jpeg文件二进制数据...)

4. 处理。

5. 响应。

响应报文格式:

5.1. 响应行。

版本、状态码、描述。比如 HTTP/1.1 200 OK。

5.2. 响应头。

键值对,比如 Content-Length: 122。

5.3. 空行。

5.4. 响应体。

6. 释放TCP连接。四次挥手。

7. 页面渲染。

7.1. 构建dom树。

7.2. 构建CSSOM 树。

7.3. 构建渲染树。

7.4. 布局计算。

7.5. 渲染呈现。


有那些网站优化的方法?

①减少DNS查询:将服务器域名的ip信息加入本地host文件。

②减少http请求数量,对于图片使用雪碧图,对于html文件和css文件,js文件分别进行合并操作。

③减少下载时间:压缩图片,使用压缩应用压缩文档中的空格,删除文件多余的语句和注释,创造自己的js精简库和精简框架,使用本地浏览器缓存。

④提前渲染开始时间:将css链接放在html头部。

⑤减轻解析器的阻塞:将js链接放在body尾部。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。