在浏览器中输入URL之后会发生什么(what happens when you type in a URL in browser)

http://stackoverflow.com/questions/2092527/what-happens-when-you-type-in-a-url-in-browser

为了粗略的简化模型,假设发的是简单的HTTP请求,没有代理,ipv4网络(ipv6网络也是一样的)

1.浏览器检查cache,如果请求的对象在cache中,而且是最新的,跳到9

2.浏览器请求操作系统对方服务器的IP地址

3.操作系统进行DNS查询(host文件),把IP发给浏览器

4.浏览器打开和服务器之间的TCP链接(HTTPS的这个步骤会更加复杂)

5.浏览器通过TCP协议发送HTTP请求。

6.浏览器接收HTTP响应,接着可能关闭TCP链接,或者重用这个链接发其他请求

7.浏览器检查HTTP响应是不是一个重定向请求(3XX) ,认证请求(401),错误消息(4XX and 5XX),等,这些消息通过不同的响应来处理,如果正常的则返回(2XX)

8.如果缓存了,响应存在cache当中

9.浏览器器解码一个一个消息响应

10.浏览器决定怎样处理这个响应(可能是一个HTML页面,一张图片等)

11.浏览器给予响应,或者提供下载对话框

还有一些同时发生的事情,比如,把你输入的地址加到浏览器记录,给用户显示加载进度,通知插件和扩展,下载的时候render页面,为了保活(keep-alive)来跟踪连接等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值