Pis*_*3.0 582
注意:这是一个非常粗略和过于简化的草图,假设最简单的HTTP请求(没有HTTPS,没有HTTP2,没有额外的),最简单的DNS,没有代理,单栈IPv4,只有一个HTTP请求,一个简单的HTTP服务器另一端,任何一步都没有问题.对于大多数当代意图和目的而言,这是一个不切实际的场景; 所有这些在实际使用中都要复杂得多,而且自编写以来,技术堆栈已变得更加复杂.考虑到这一点,以下时间表仍然有效:
再一次,对这些要点的讨论已经填满了无数页面; 为了清楚起见,仅将其作为总结,删节.此外,还有许多其他事情与此并行(处理输入的地址,推测预取,添加页面到浏览器历史记录,向用户显示进度,通知插件和扩展,在下载时呈现页面,流水线,连接跟踪保持活跃,cookie管理,检查恶意内容等) - 并且整个操作使用HTTPS(证书和密码和固定,哦,我的!)更复杂一个数量级.
nai*_*sts 41
首先,计算机查找目标主机.如果它存在于本地DNS缓存中,则使用该信息.否则,执行DNS查询,直到找到IP地址.
然后,您的浏览器打开与目标主机的TCP连接,并根据HTTP 1.1发送请求(或者可能使用HTTP 1.0,但普通浏览器不再执行此操作).
服务器查找所需的资源(如果存在)并使用HTTP协议响应,将数据发送到客户端(=您的浏览器)
然后,浏览器使用HTML解析器重新创建文档结构,稍后将在屏幕上显示该文档结构.如果它找到对外部资源的引用,例如图片,css文件,javascript文件,则它们的传递方式与HTML文档本身相同.
| 归档时间: |
|
| 查看次数: |
239035 次 |
| 最近记录: |