浏览器输入URL发生了什么?

1.浏览器输入URL后,点击回车产生在操作系统中会产生一个浏览器上的一个事件,同时触发了浏览器提前为这个事件绑定好的一组动作。(控制权转移到浏览器)。

2.浏览器判断输入的是不是URL?

如果不是URL,浏览器会使用内部设置的默认搜索引擎网站进行搜索操作。

如果是URL,会按照正常URL的方式处理。

3.浏览器处理HTTP协议(应用层角度)

​ 1.把URL解析成(协议、域名、端口、Path)。

​ 2.域名解析,将域名转换为IP(逐层向上询问IP),如果有就拿到IP,如果没有就显示连接到服务器。

​ 3.发起TCP连接(HTTP基于TCP),建立TCP连接。

​ 4.发起HTTP请求;请求格式(GET + URL + Version + 请求头)。

​ 5.等待HTTP响应;按照响应格式解析(是否成功、响应内容类型)。

​ 6.拿到响应的内容,按照响应内容的格式解析响应内容。

​ 7.如果有附带的资源,比如JS、CSS、多媒体信息,浏览器会发起新的请求,把所有需要的资源全部请求下来。

​ 8.如果需要运行JS代码,就运行JS代码得到一颗修改后的DOM树,并且结合CSS做渲染。

​ 9.提交操作系统显示。

**浏览器的角色:**用户的响应器、DNS的客户、HTTP客户端、HTML、CSS、JS解析器、JS虚拟机、CSS渲染器。

单独一个应用层包的过程

​ 1.建立TCP连接。

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

​ 3.网络层拿到应用层数据,在传输层封装TCP头信息(源端口,目标端口,序列号、ACK、确认序列号)。

​ 4.传输层将数据交到网络层,网络层对数据再次封装IP协议头信息(源IP、目标IP、TTL、长度)。

​ 5.通过ARP协议(介于数据链路层和网络层的协议)获取目标MAC地址。

​ 5.网络层将数据交到数据链路层,链路层封装MAC地址。

​ 6.通过物理层将数据传输到目标。

​ 7.数据到达目标地址后进行解包。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值