从输入URL到页面加载完成的过程中都发生了什么事情?

当你在浏览器中输入URL并敲回车之后,浏览器会把URL分成几部分:

  • 1、协议:从计算机获取资源的方式,常见的HTTP、FTP等
  • 2、网络地址:域名或者IP,指示网络中的哪一台计算机
  • 3、资源路径:指示在该计算机上获取哪一个资源

当浏览器发现网络地址并不是IP,而是域名的时候,浏览器会向DNS服务器发送请求,查找域名对应的IP,如果该DNS服务器没有找到该域名对应的IP,那吗会向上级请求,直到根节点,结果只有两个:要吗找到了,要吗找不到。 (你电脑里的网络设置里面有DNS的服务器IP)

扩展:例如百度、淘宝这些访问量及其大的网站,在DNS域名解析时,在不同的区域或不同网络下解析出来的IP可能是不同的,这就涉及负载均衡的第一步:在DNS解析域名时,将你的访问分配到不同的入口,同时尽可能保证你访问的入口是在所有入口中可能较快的一个。

如果网络地址中不包含端口,那么会使用协议默认的端口。HTTP协议默认端口是80,HTTPS协议默认端口是443

当浏览器对域名完成一系列的解析之后,就会构建一个HTTP请求,HTTP属于应用层协议,真正的数据传输是传输层协议TCP完成的,这就涉及到TCP建立连接的”三次握手”:

  • 1、发送端发送带有 SYN 标志的数据包给接收端,并在一定的延迟时间内等待回复
  • 2、接收端收到数据包后传回一个带有 SYN/ACK 标志的数据包以示确认传达信息
  • 3、发送端收到信息后还会发送一个带有 ACK 标志的数据包给接收端以示握手成功,连接建立完成

服务器收到客户端发送的HTTP请求后,分析请求报文,并查找相应的请求资源,并返回响应报文。

响应报文中包含一个重要的信息,状态吗:

常见的 4 开头的状态吗一般表示请求出了问题,如 404 表示请求的资源不存在 3 开头的状态吗一般表示重定向,如 301表示永久重定向 5 开头的状态吗一般表示服务器出了问题,如 500 表示服务器出错 2 开头的一般代码成功,如 200

Original: https://www.cnblogs.com/GarfieldEr007/p/12251684.html
Author: GarfieldEr007
Title: 从输入URL到页面加载完成的过程中都发生了什么事情?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/551776/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Anaconda, PyTorch, CUDA Driver, PyCharm 安装与配置

    安装Anaconda(2022.05) 最新版本 https://www.anaconda.com/历史版本 https://repo.anaconda.com/archive/ …

    技术杂谈 2023年7月24日
    087
  • MySQL远程连接、用户授权

    mysql> insert into mysql.user(Host,User,Password) values(“localhost”,&#8221…

    技术杂谈 2023年6月21日
    0107
  • skia 图形矩阵转换

    SkiaSharp 中的矩阵转换 下载示例 利用多样的转换矩阵深入了解 SkiaSharp 转换 应用于该对象的所有转换 SKCanvas 都在结构的单个实例中合并 SKMatri…

    技术杂谈 2023年5月31日
    0117
  • C#实现 word、pdf、ppt 转为图片

    office word文档、pdf文档、powerpoint幻灯片是非常常用的文档类型,在现实中经常有需求需要将它们转换成图片 — 即将word、pdf、ppt文档的每…

    技术杂谈 2023年6月1日
    0105
  • 几十套业务系统集中统一授权管理、几十万账户同步多系统实现经验分享

    由于这几年互联网电商的快速崛起,快递行业也进入了高速发展的绝好成长期。随着全社会强劲需求快递公司业绩年年攀新高。快速发展的快递公司需要有强大的IT信息系统,硬件设备基本上款到了货也…

    技术杂谈 2023年5月31日
    093
  • 云计算知识

    本文来自博客园,作者:摩斯电码,转载请注明原文链接:https://www.cnblogs.com/pengdonglin137/p/16537942.html Original:…

    技术杂谈 2023年5月31日
    087
  • (三)underscore.js框架Objects类API学习

    _.keys(object)Retrieve all the names of the object‘s properties. _.keys({one: 1, two…

    技术杂谈 2023年5月31日
    0105
  • Flink window

    窗口计算 我们经常需要在一个时间窗口维度上对数据进行聚合,窗口是流处理应用中经常需要解决的问题。Flink的窗口算子为我们提供了方便易用的API,我们可以将数据流切分成一个个窗口,…

    技术杂谈 2023年7月10日
    098
  • C#获取全部目录和文件

    public class FileAccess{ //储存所有文件夹名private ArrayList dirs; public FileAccess(){dirs = new …

    技术杂谈 2023年6月1日
    077
  • Codeforces1575D

    思路分析 此题采用dfs,注意X选中了之后所有的X值相同,所以需要一个flag来存储X的值。 注意前导0要单独讨论,然后就是当’X’或者’_&#…

    技术杂谈 2023年7月24日
    077
  • Mysql InnoDB Buffer Pool

    参考书籍《mysql是怎&…

    技术杂谈 2023年7月25日
    066
  • cocos creator入门

    前面的话 Cocos Creator 是一个完整的游戏开发解决方案,包括了 cocos2d-x 引擎的 JavaScript 实现,以及快速开发游戏所需要的各种图形界面工具。Coc…

    技术杂谈 2023年5月30日
    081
  • 沙盒:页面和系统之间的隔离墙

    从稳定性视角来看,单进程架构的浏览器是不稳定的,因为只要浏览器进程中的任意一个功能出现异常都有可能影响到整个浏览器,如页面卡死、浏览器崩溃等。不过浏览器的稳定性并不是本文讨论的重点…

    技术杂谈 2023年5月31日
    081
  • 两个变量数值交换

    交换两个变量的值yi 一:使用第三个变量 二:不使用第三个变量 来点伤心史💔 //        i=minIndext //        自身加自身 结果改变自身 //    …

    技术杂谈 2023年6月21日
    091
  • Go写文件的权限WriteFile(filename,data,0644)?

    本文来自博客园,作者:阿伟的博客,转载请注明原文链接:https://www.cnblogs.com/cenjw/p/go-ioutil-writefile-perm.html 前…

    技术杂谈 2023年7月24日
    077
  • OO第二单元总结

    OO第二单元电梯总结 OO第二单元电梯总结 架构模式 hw5 一级生产者消费者模型with策略类分离 关于策略类的提取: 关于优化实现了: hw6 增加了两个电梯子类的一级生产者消…

    技术杂谈 2023年7月25日
    068
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球