首页 > 其他分享 >从输入 URL 到页面展示到底发生了什么?

从输入 URL 到页面展示到底发生了什么?

时间:2024-07-27 20:27:34浏览次数:7  
标签:HTTP 浏览器 展示 URL 端口 MAC 域名 服务器 页面

在浏览器输入网址后,

  1. 浏览器会先解析 URL,解析出域名、资源路径、端口等信息,准备发送 HTTP 请求,
  2. 检查浏览器缓存是否有缓存该资源,如果有就直接返回;没有的话就进入下一步网路请求;
  3. 接着进行DNS域名解析,来获取请求域名的 IP 地址,如果请求协议是 HTTPS,那么还会需要建立 TLS 连接,DNS 解析时会按照 本地浏览器缓存 -> 本地 host 文件 -> 本地 DNS 服务器 -> 根域名服务器 -> 顶级域名服务器 -> 权威域名服务器的顺序查询对应 IP,直到找到为止
  4. 由于 HTTP 是基于 TCP 传输的,还需要进行三次握手,在第一次握手的时候TCP头部会填上 SYN 标记位,和目标端口和源端口的信息,源端口是浏览器随机生成的,目标端口要看是 HTTP还是 HTTPS,分别默认是 80 和 443
  5. 然后到网络层,会加上IP头,同时填上目标IP地址和源IP地址。
  6. 然后到数据链路层,会通过ARP协议,获取路由器的MAC地址,然后会加上MAC头,填上目标MAC地址和源
    MAC地址。
  7. 然后到物理层之后,直接把数据包,转发给路由器路由器再通过下一跳,最终找到目标服务器,然后目标服务器收到客户的 SYN 报文后,会响应第二次握手。
  8. 当双方都完成三次握手后,如果是 HTTP 协议,客户端就会将 HTTP 请求就会发送给目标服务器;如果是
    HTTPS 协议,客户端还要和服务端进行 TLS 四次握手之后,客户端才会将HTTP报文发送给目标服务器。
  9. 目标服务器收到 HTTP 请求消息后,就返回 HTTP 响应消息,浏览器会对响应消息进行解析渲染,呈现给用户

以上就是输入网址之后,期间发生的事情。
在这里插入图片描述

标签:HTTP,浏览器,展示,URL,端口,MAC,域名,服务器,页面
From: https://blog.csdn.net/m0_63653444/article/details/140620041

相关文章

  • Python 抓取 urllib2 HTTP 错误
    我正在尝试抓取一个网站,但我的代码仅在我打开该网站然后刷新它时才有效。我尝试了多种方法,但不断出现以下两个错误:第一个:ValueError:“HTTPError:HTTP错误416:请求的范围无法满足”urlslist=open("list_urls.txt").read()urlslist=urlslist.split("\n")forurlslistinurl......
  • 【微信小程序开发】API使用、自定义组件、页面实现图解超详细
    文章目录常用API消息交互消息加载转发给朋友模态对话框获取用户信息调起客户端扫码界面发起支付获取位置自定义组件创建自定义组件使用自定义组件组件生命周期组件所在页面的生命周期页面实现淘宝订单简化页面饮品订单简化页面本篇总结更多相关内容可查看常用......
  • 你的眼睛背叛了你的心,看到高颜值页面,你也心动呀。
    大家都喜欢高颜值的网页,主要是因为视觉上的吸引力和舒适感。1.吸引注意力:高颜值的网页设计通常会吸引用户的注意力,使用户更愿意停留在网页上并探索其中的内容。2.提升用户体验:精美的网页设计可以提升用户的整体体验,让用户感到愉悦和舒适,从而增加用户对网站的好感度......
  • 【HTML+CSS】HTML锚点:创建页面内导航的简易指南
    目录一、什么是HTML锚点?二、如何创建HTML锚点?1.定义锚点目标2.创建指向锚点的链接三、进阶使用1.平滑滚动2.动态锚点四、锚点工具总结五、锚点的应用场景1. 长页面导航2. 表单导航3. 图像画廊4. FAQ页面六、锚点的SEO考虑七、锚点的兼容性八、实践建议......
  • 后端说,单页面SPA和前端路由是怎么回事
    没有请求的路由在传统开发中,浏览器点击一个超链接,就会像后端web服务器发送一个html文档请求,然后页面刷新。但开始单页面开发后,就完全不同了。单页面?这个概念难以理解。我用一个js作为整个web应用,然后再这个js中操作dom变化,以此来实现页面变化。这不叫单页面吗?这叫!但不完善,因为这......
  • 【一手源码展示】Java代码TikTok内嵌商城代码程序,TikTok跨境电商系统源码,TK商城源码
    这套程序已经做了很久了我这边修复二开优化也好几个版本搭建起来做起来确实费劲前后端分离的程序 二开效果页面展示:......
  • [二、状态管理]3管理应用拥有的状态(2)LocalStorage:页面级UI状态存储
    LocalStorage是页面级的UI状态存储,通过@Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。LocalStorage也可以在UIAbility实例内,在页面间共享状态。本文仅介绍LocalStorage使用场景和相关的装饰器:@LocalStorageProp和@LocalStorageLink。说明本模块从APIver......
  • 如何解决“必须首先将控件添加到页面”的问题。机队错误?
    我正在尝试使用flet制作janggi(国际象棋变体)游戏。由于我必须在多个地方使用该板,因此我创建了一个名为janggiBoard的类,它继承自ft.Stack。我想对片段使用拖放操作,因此我按照flet文档中的Solitaire教程进行操作。当我尝试执行“move_on_top”部分时出现问题。在Solitaire......
  • 使用 useRequestURL 组合函数访问请求URL
    title:使用useRequestURL组合函数访问请求URLdate:2024/7/26updated:2024/7/26author:cmdragonexcerpt:摘要:本文介绍了Nuxt3中的useRequestURL组合函数,用于在服务器端和客户端环境中获取当前页面的URL信息。通过示例展示了如何在页面中使用此函数获取并显示URL及其......
  • NVIDIA 初创加速计划 | 2024 NVIDIA 创业企业展示报名开启
    我们正处于一场新的工业革命之中。人工智能技术即将广泛渗透到各个行业,并推动生产力提高至前所未有的水平。而技术进步绝不仅仅是这场革命的唯一驱动力,新工业革命的到来更依赖于众多敢于创新、勇于探索的科技创业企业,他们在这场革命中扮演着至关重要的角色,并能够迅速将最新的科研......