输入一个网址后发生了什么

将数据封装为一个数据包,即应用数据
在这里插入图片描述
1.应用层

  1. DNS协议会将网址解析为IP地址

    解析过程:
    	1)检查浏览器缓存是否解析过这个网址,如果有,返回对应IP地址,解析结束;
    	2)如果没有,浏览器会做一个系统调用,查看操作系统中是否有这个域名对应的DNS解析结果;
    	3)如果还没有,接着,这个请求发送到路由器,路由器中有DNS缓存,在这里找到相应的记录,DNS服务器找到后将解析所得IP地址返回给用户
    
  2. 浏览器给对应服务器发送一个HTTP请求

2.传输层:

	TCP数据报加入到应用数据中,其中包含应用数据+新增的端口号(目的端口,源端口),即TCP报文

在这里插入图片描述
3.网络层:

IP数据报加入到TCP报文中,包含:TCP报文+新增的目的IP和源IP,即IP数据报

在这里插入图片描述
4.数据链路层:

以太网数据报加入到IP数据报中,包含IP数据报+新增的源MAC地址和目的MAC地址(通过ARP地址解析协议得到的),即以太网帧

在这里插入图片描述

5.此时,数据封装完成
6.发送到网关,经过多个网关的转发,到达服务器对应的端口
7.服务器解析以太网数据包并处理数据
8.处理完成,返回HTTP响应,客户端收到响应后解析为可以让用户看到的HTML页面。
9.页面显示完成后,浏览器发送异步请求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. DNS 解析:浏览器首先会检查自己的缓存中是否存有该网址的 IP 地址,如果没有,浏览器会向本地 DNS 服务器发送请求,如果本地 DNS 服务器也没有缓存该网址的 IP 地址,那么它会向根域名服务器请求,逐步向下查询,直到找到网址所对应的 IP 地址,然后将 IP 地址返回给浏览器。 2. 建立 TCP 连接:浏览器根据获取到的 IP 地址,向服务器发起 TCP 连接请求。这个过程被称为三次握手,即浏览器向服务器发送 SYN 数据包,服务器收到后回复 SYN+ACK 数据包,浏览器再回复 ACK 数据包,这样 TCP 连接就建立起来了。 3. 发送 HTTP 请求:TCP 连接建立后,浏览器会向服务器发送 HTTP 请求。HTTP 请求由请求行、请求头和请求体组成,请求行包括请求方法、请求地址和 HTTP 协议版本;请求头包含一些附加信息,如请求的来源、目标等;请求体包含请求的具体内容。 4. 服务器处理请求并返回 HTTP 响应:服务器接收到浏览器发送的 HTTP 请求后,会根据请求的地址和方法进行处理,并生成相应的 HTTP 响应。HTTP 响应由响应行、响应头和响应体组成,响应行包括响应的状态码、状态码的文本描述和 HTTP 协议版本;响应头包含一些附加信息,如服务器类型、响应时间等;响应体包含服务器返回的具体内容。 5. 浏览器解析 HTML 页面并请求页面中的其他资源:浏览器接收到服务器返回的 HTTP 响应后,会进行页面渲染。首先,浏览器会解析 HTML 页面,构建 DOM 树,并根据 CSS 样式表生成渲染树。接着,浏览器会请求页面中引用的其他资源,如图片、CSS 文件、JavaScript 文件等,并将这些资源加入到页面渲染树中。 6. 浏览器渲染页面:最后,浏览器会根据渲染树的结构和样式信息,将页面渲染出来,并在页面上显示出来。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值