当您在浏览器中输入网址时会发生什么[closed]

有人可以告诉我什么事情发生在幕后,从我在浏览器中输入一个URL的时间,当我在浏览器上看到的页面时?详细的过程的描述将是很大的帮助。
最佳答案
在一个非常粗略和简化的草图,假设最简单的可能HTTP请求,没有代理,IPv4和任何步骤中没有问题:

>浏览器检查缓存;如果请求的对象在缓存中并且是新鲜的,请跳到#9
>浏览器向操作系统询问服务器的IP地址
>操作系统进行DNS查找并将IP地址回复到浏览器
>浏览器打开到服务器的TCP连接(此步骤使用HTTPS要复杂得多)
>浏览器通过TCP连接发送HTTP请求
>浏览器接收HTTP响应,并可能关闭TCP连接,或重用它为另一个请求
>浏览器检查响应是重定向还是条件响应(3xx结果状态代码),授权请求(401),错误(4xx和5xx)等;这些处理不同于正常响应(2xx)
>如果可高速缓存,则响应存储在高速缓存中
>浏览器解码响应(例如,如果是gzip压缩)
>浏览器确定如何处理响应(例如,它是一个HTML页面,它是一个图像,它是一个声音剪辑?)
>浏览器呈现响应,或为无法识别的类型提供下载对话框

再次,对每一个点的讨论填补了无数的页面;这只是作为一个简短的总结。此外,还有许多其他事情与此并行发生(处理输入地址,推测预取,向浏览器历史添加页面,向用户显示进度,通知插件和扩展,在下载时呈现页面,管道化,连接跟踪保持活跃,检查恶意内容等) – 并且整个操作与HTTPS(证书和密码和固定,哦,我!)的一个数量级更复杂。

转载注明原文:当您在浏览器中输入网址时会发生什么[closed] - 代码日志