【浅学Java】从浏览器中输入一个URL之后,会发生什么?

大概图:
在这里插入图片描述
详见:

  1. 浏览器先根据域名,查找对应的IP地址
  1. 先查浏览器自身缓存
  2. 在查host文件
  3. 再查DNS服务器
  1. 浏览器构造HTTP请求

这个HTTP请求就包含了刚才的这个域名信息(用户输入的信息)

  1. 浏览器调用操作系统的socket.api,把这个HTTP协议交给传输层处理(这里以TCP为例)。

TCP协议需要构造一个TCP数据报

  1. 在发送数据之前,先进行“三次握手”,这里的三次握手也需要经过各层的封装分用。
  2. TCP分装完之后,就就交给下层的IP协议
  1. 网络层把TCP数据报封装成一个IP数据报,进一步进行封装,然后交给数据链路层。
  2. 数据链路层将这个数据封装成“以太网数据帧”的形式,在交给物理层
  3. 物理层把数据装换成电信号进行传输
  4. 电信号沿着网线,到达下一个设备(路由器),进行分用,然后又进行封装。重复上面的动作,直到到达目的主机。在这里插入图片描述
  5. 数据到达服务器(搜狗),进行分用,层层解析。在这里插入图片描述
  6. 应用程序调用对应的socket.api,从TCP接收缓冲区中读取数据,应用程序把这个数据按照HTTP协议来解析。获取到对应的URL,根据URL中指定的路径,知道了是要获取到这个根地址。
  7. 服务器对这个路径进行配置,映射到一个具体的 html 文件。
    服务器就会读取这个文件,把文件的内容构造成一个HTTP响应数据,然后再调用socket.api进行发送。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值