Seasons123 / blog-FE

web前端相关issue is my blog :lollipop:
2 stars 0 forks source link

Web访问原理-从输入URL到页面加载完成的过程中都发生了什么事情? #30

Open Seasons123 opened 7 years ago

Seasons123 commented 7 years ago

从输入URL到页面加载完成的过程中都发生了什么事情?--这是一个经典的面试题; 主要是关于计算机网络方面的知识基础,对于非科班计算机自学web开发的同学可能理解起来就很困难。 StackOverFlow上有一个简要回答: http://stackoverflow.com/questions/2092527/what-happens-when- you-type-in-a-url-in-browser

Piskvor的回答:
作一个简单粗暴的描述,假设是简单的HTTP请求,IPV4,没有代理。
1.浏览器查询缓存,如果缓存存在跳到第9步。
2.浏览器询问操作系统服务器的IP地址。
3.操作系统做DNS查询,返回IP地址给浏览器。
4.浏览器打开对服务器的TCP连接(如果是HTTPS协议的话会更复杂)。
5.浏览器通过TCP连接发送HTTP请求。
6.浏览器接收HTTP响应并且可能关掉TCP连接,或者是重新使用连接处理新请求。
7.浏览器检查HTTP响应是否为一个重定向(3xx 结果状态码 ),一个验证请求(401),错误(4xx 5xx)等
等,这些都是不同响应的正常处理(2xx).
8.如果响应可缓存,将存入缓存。
9.浏览器解码响应(例如:如果它是gzziped压缩)。
10.浏览器决定如何处理这些响应(例如,它是HTML页面,一张图片,一段音乐)。
11.浏览器展现响应,对未知类型还会弹出下载对话框。
这里边的每个步骤都可以长篇大论一番,当然还有很多东西与这些步骤平行发生。
Seasons123 commented 7 years ago

http://www.cnblogs.com/Peng2014/p/4686327.html

https://github.com/jkchao/blog

http://fex.baidu.com/blog/2014/05/what-happen/