在地址栏输入url地址发生了什么?

总结了一点计算机网络的知识点和大家分享! (´๑•_•๑)

问题:当在输入框输入url时 浏览器会发生什么????

1.首先在输入框中输入url
2.浏览器先查看浏览器缓存-系统缓存-路由缓存,如果缓存中有,会直接在屏幕中显示页面内容,若没有跳到第三步
3.在发送http请求前 ,需要域名解析(DNS解析),获取物理服务器的ip地址(涉及到CDN)
4.浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手
5.握手成功,向服务器发送http请求 ,请求数据包
6.服务器处理收到的请求,将数据返回浏览器
7.浏览器收到http响应
8.读取页面内容,浏览器渲染,解析html源码
9.生成DOM树,解析CSS样式,js交互
10.客户端和服务器交互
11.ajax查询

步骤2 详细
浏览器缓存:浏览器缓存会记录DNS一段时间
操作系统缓存:如果浏览器没有缓存 就会使系统调用操作系统的记录
路由器缓存:如果还是没有就继续搜索路由器缓存
isp缓存 :向ISP(网络服务提供商)的LDNS服务器查询

步骤3 详细
例子:www.test.com
如果LDNS服务器没找到,会向根域名服务器(Root Server)请求解析,分为以下几步:

  1. 根服务器返回顶级域名(TLD)服务器如.com,.cn,.org等的地址,该例子中会返回.com的地址
  2. 接着向顶级域名服务器发送请求,然后会返回次级域名(SLD)服务器的地址,本例子会返回.test的地址
  3. 接着向次级域名服务器发送请求,然后会返回通过域名查询到的目标IP,本例子会返回www.test.com的地址
  4. Local DNS Server会缓存结果,并返回给用户,缓存在系统中

CDN

  1. 对于点击的数据的URL,经过本地DNS系统的解析,发现该URL对应的是一个CDN专用的DNS服务器,DNS系统就会将域名解析权交给CNAME指向的CDN专用的DNS服务器。
  2. CND专用DNS服务器将CND的全局负载均衡设备IP地址返回给用户
  3. 用户向CDN的全局负载均衡设备发起数据请求
  4. CDN的全局负载均衡设备根据用户的IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求
  5. 区域负载均衡设备选择一台合适的缓存服务器来提供服务,将该缓存服务器的IP地址返回给全局负载均衡设备
  6. 全局负载均衡设备把服务器的IP地址返回给用户
  7. 用户向该缓存服务器发起请求,缓存服务器响应用户的请求,将用户所需内容发送至用户终端。

TCP/IP协议
传输层:端口和端口中的通信 会以三次握手先建立连接 成功之后发送数据 以四次挥手的形式断开链接
三次握手
客户端 —》 发送SYN(Synchronization):同步 生成Seq=1000 (Sequence)序列 —》 服务端
客户端 《— 发送SYN+ACK(Acknowledgment):答复 生成Seq=2000(自定义) ACK=1001=上一步的seq+1 《— 服务端
客户端 建立连接 —》 生成Seq=1001=上一步的ack ACK=2001=上一步的seq+1 —》 服务端
四次挥手
客户端 —》 发送FIN(Finish)结束 生成Seq=2000 Ack=1000 —》 服务端
客户端 《— 发送ACK 生成Seq=1000 ACK=2001=上一步的seq+1 《— 服务端
客户端 《— 发送FIN+ACK 生成Seq=1000 ACK=2001=上一步的seq+1 《— 服务端
客户端 —》 发送ACK 生成Seq=2001Ack=1001=上一步的seq+1 —》 服务端

还总结的一点状态码
200 表示成功
204 表示成功但没有请求资源
206 请求范围部分资源 响应报文中包含由Content-Range指定范围的实体内容
301 永久重定向
302 临时重定向
303 应该采用get方法获取资源
304 协商缓存
400 请求报文语法格式错误 应该修改请求内容
401 认证信息失败 比如请求头token不对等
403 拒绝访问
404 没有找到请求的资源
500 服务器内部错误
503 服务器过载或者维护

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我了解了。关于您的问题,整个过程可以分为以下几个步骤: 1. 输入URL:当您在浏览器地址栏输入URL时,浏览器会将该URL发送到域名系统(DNS),通过域名系统将URL转化为IP地址。 2. 发送HTTP请求:浏览器根据URL发起HTTP请求,请求访问Web服务器的特定资源。 3. 服务器响应:当Web服务器接收到请求时,它将处理请求并返回所请求的资源。 4. 浏览器渲染:浏览器收到服务器响应后,它将解析HTML源代码,并根据CSS样式表和JavaScript代码来渲染页面。 5. 页面展示:最终,浏览器将HTML、CSS和JavaScript代码解析完毕后,它会在屏幕上展示出页面内容。 以上就是从输入URL到页面展示的整个过程,希望能够帮到您。 ### 回答2: 当我们在浏览器的地址栏输入URL时,整个过程可以分为以下几个步骤: 1. DNS解析:浏览器首先会根据URL中的域名(例如www.example.com)进行DNS解析,将域名解析为对应的IP地址。这一步骤是为了找到存放网页的服务器。 2. 建立TCP连接:浏览器通过IP地址与服务器建立TCP连接。TCP协议提供可靠的连接,确保数据的完整性。 3. 发起HTTP请求:一旦建立了TCP连接,浏览器会向服务器发起HTTP请求,请求包括请求方法、请求头、请求体等信息。请求方法可以是GET、POST等,服务器根据请求的不同做出相应的响应。 4. 服务器处理请求并响应:服务器接收到浏览器的请求后,会根据请求的内容进行相应的处理。处理包括读取数据库、执行后端代码等操作。之后,服务器会生成响应对象,包含响应状态码、响应头、响应体等信息。 5. 接收服务器响应:浏览器接收到服务器的响应后,根据响应头中的Content-Type确定响应的数据类型。如为HTML类型,则浏览器会将响应的HTML代码解析成DOM树。 6. 解析页面并渲染:浏览器根据DOM树构建渲染树,并依据CSS样式对各元素进行布局和样式计算,最终生成页面的渲染结果。同时,浏览器也会执行页面中的JavaScript代码。 7. 页面展示:最后,浏览器将渲染好的页面内容显示在用户的视窗中,用户可以看到页面的展示效果。 总结起来,从输入URL到页面展示,经历了DNS解析、建立TCP连接、发起HTTP请求、服务器处理请求并响应、接收服务器响应、解析页面并渲染等多个步骤。最终,浏览器将渲染好的页面内容显示给用户。 ### 回答3: 从输入URL到页面展示,大致经历如下步骤: 1. 域名解析:当我们在浏览器中输入URL后,首先会进行域名解析。浏览器会向DNS服务器发送域名请求,获取该域名对应的IP地址。 2. 建立连接:浏览器通过获取到的IP地址与Web服务器建立TCP连接。这个过程使用的是三次握手协议,确保连接的可靠性。 3. 发送请求:建立连接后,浏览器会发送HTTP请求给Web服务器,请求的内容包括请求的类型(GET/POST等)、地址、头部信息、可能还包括cookie等相关信息。 4. 服务器处理请求:Web服务器收到请求后,会根据请求内容进行处理。处理过程可能包括调取数据库、运行后台程序等动作。 5. 服务器响应:Web服务器根据请求的内容,返回一个HTTP响应给浏览器。响应的内容包括状态码、响应头部、实际的网页内容等。 6. 下载页面资源:浏览器接收到服务器返回的响应后,会开始下载网页的资源,如HTML、CSS、JavaScript、图片等。浏览器会根据响应头部中的Content-Type确定如何解析资源。 7. 页面渲染:当所有的资源下载完成后,浏览器会根据HTML结构、CSS样式,解析并渲染出网页。浏览器会从上到下解析HTML文档,解析过程包括构建DOM树、计算CSS样式、布局页面等。 8. JavaScript执行:在渲染过程中,浏览器会遇到JavaScript代码。浏览器会逐行解析执行JavaScript代码,并根据代码修改DOM树和样式,可能还会触发网络请求等。 9. 页面展示:当页面渲染和JavaScript执行完成后,页面便可以完整地展示给用户了。用户可以看到页面内容,与页面进行交互。 以上仅是一个大致的过程,实际上还有很多细节和额外的步骤,比如缓存机制、重定向、Cookie处理等等。不同的浏览器、服务器也可能会有些许差异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值