浏览器输入URL到网页显示之间发生了什么

news2024/7/11 18:15:20

记:

DNS(Domain Name System,域名系统)就是根据域名来查找对应的IP地址的一个关键系统。

域名层级关系:

  • 根域名服务器(.)
  • 顶级域名服务器(.com)
  • 权威域名服务器(server.com)

首先浏览器会对这个 URL 进行解析,从而生成发送给Web服务器的请求信息,这个URL实际上是请求服务器里的文件资源,如果这个URL中没有路径名的话,就代表访问根目录下事先设置的默认文件,也就是/index.html 或 /default.html,在对URL解析之后,浏览器就确认了Web服务器和文件名,接下来就是根据这些信息来生成HTTP请求消息,生成HTTP请求消息之后就需要委托操作系统将消息发送给Web服务器,但是在发送之前,还需要查询服务器域名对应的IP地址,因为委托操作系统发送消息时,必须提供通信对象的 IP 地址。

首先,浏览器会先看看自身有没有对这个域名的缓存,如果有,就直接返回,如果没有,就去问操作系统,操作系统也会看看自己缓存中是否有,有的话直接返回,没有的话就再去hosts文件看,如果也没有的话就会去问本地的DNS服务器了,本地的DNS服务器接收到客户端的请求后,也会先看自己缓存了没,有的话直接返回,没有的话本地DNS就会去问它的根域名服务器,根DNS不会直接解析域名到IP,而是看到这个域名的后置是.com,告诉本地域名服务器,该域名的顶级域名服务器在哪里,让本地域名服务器去那里查询,顶级域名服务器也和根域名服务器差不多,也是告诉本地域名服务器这个域名的权威NDS服务器在哪里,让本地域名服务器继续查询,这时候权威DNS服务器查询后将此域名对应的IP地址告诉给本地DNS,本地DNS再将IP地址返回给客户端,客户端与目标建立TCP/IP连接,然后由浏览起发送一个HTTP请求,经过路由器的转发,通过服务器的防火墙,该HTTP请求到达了服务器,服务器处理该HTTP请求,返回一个HTML文件浏览器解析该HTML文件,并且显示在浏览器端。

其实这个过程中还是省略了很多的内容,比如通过DNS域名系统获取到IP地址之后,还需要把HTTP的传输工作交给操作系统中的协议栈,进行一些操作之后再找TCP协议传输,因为HTTP是基于TCP协议传输的,然后进行TCP的三次握手建立连接,三次握手的目的是为了保证双方都有发送和接收的能力,之后再通过IP,MAC,网卡,交换机,路由器......其实就是网络分层模型,最后数据包抵达服务器,就需要对数据包进行扒皮,同时判断是否和自己的各项符合,然后将HTTP想要的再打包发给HTTP进程,打包也就是将被扒掉的再重新穿回去,之后再通过网卡,交换机,路由器......到客户端,然后客户端接收到之后也开始扒皮,也就是还要再走一遍网络分层模型,最后扒到只剩下HTTP响应报文后,再交给浏览器去渲染页面,最后,客户端和服务器发起TCP的四次挥手,到这里,双方的连接就断开了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1686326.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超简单白话文机器学习-朴素贝叶斯算法(含算法讲解,公式全解,手写代码实现,调包实现

1. 朴素贝叶斯算法 朴素贝叶斯(Naive Bayes)算法是一类基于贝叶斯定理的简单而强大的概率分类器,它在假设特征之间相互独立的前提下工作。尽管这种“朴素”的假设在现实中很少成立,但朴素贝叶斯分类器在许多实际应用中表现良好&am…

灌区信息化管理系统助力灌区节水,打造绿色生态新农业

在现代化农业发展的浪潮中,如何实现节水、高效、绿色的农业生产成为了人们关注的焦点。智慧灌区信息化系统应运而生,以其独特的技术优势,助力灌区节水,打造绿色生态新农业,引领农业生产的未来。 灌区信息化管理系统&am…

高中数学:平面向量-题型总结及解题思路梳理

一、知识点及解题思路梳理 高中,2/3的向量题目是坐标向量题,1/3是几何向量题。但是,这1/3的几何向量题可以转换成坐标向量题。 二、练习 例题1 几何型向量题 例题2

LabVIEW波纹补偿器无线监测系统

LabVIEW波纹补偿器无线监测系统 在石油化工、冶金及电力等行业中,波纹补偿器作为一种重要的补偿性元件,其安全稳定的运行对管道输送系统的可靠性至关重要。开发了一种基于LabVIEW的波纹补偿器无线监测系统,通过实时监测波纹补偿器的工作状态…

Kubernetes的灵魂核心:kube-scheduler

Kubernetes(简称K8s)是一个开源的容器编排系统,用于自动化容器化应用程序的部署、扩展和管理。在Kubernetes集群中,kube-scheduler是一个至关重要的组件,它负责将Pod(Kubernetes中的最小部署单元&#xff0…

Dom树和渲染树的细微差别,你能分清吗?

DOM树和渲染树都是浏览器渲染页面时生成的树形结构,但它们有一些区别。 1. DOM树: DOM树是由HTML解析器解析HTML文档生成的,它是文档的结构化表示,包含了HTML文档中的所有元素节点、文本节点、注释节点等,它是一个包…

“AI+综合节能改造”:打造数据中心热管理系统节能“秘籍”

维谛技术服务: 欧小明 曲鑫 当前,基于AI技术在确保精准制冷、实现节能和提升运营效率方面的重要作用,将AI技术与热管理系统改造相结合,实现深度协同,是数据中心节能改造的关键路径之一。 “AI综合节能改造”提升热管…

从ES5迈向ES6:探索 JavaScript 新增声明命令与解构赋值的魅力

个人主页:学习前端的小z 个人专栏:JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! ES5、ES6介绍 文章目录 💯声明命令 let、const🍟1 let声明符&a…

51单片机入门:红外遥控

红外遥控系统简介 红外遥控系统是利用红外光进行通信的设备,通常由发射和接收两大部分组成,即:由红外LED将调制后的信号发出,再由专门的红外接收头进行解调输出。 红外LED:外表与普通的LED没有什么不同,发…

解锁合同管理的新路径:低代码与定制开发的完美结合

引言 合同管理在企业中扮演着至关重要的角色。无论是与供应商、客户还是合作伙伴之间的合作,合同都是约束双方责任和权利的关键文档。然而,随着业务的不断增长和全球化的发展,合同管理变得越来越复杂。传统的合同管理方法往往面临着诸多挑战&…

Web安全:SQL注入之时间盲注原理+步骤+实战操作

「作者简介」:2022年北京冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础对安全知识体系进行总结与归纳,著作适用于快速入门的 《网络安全自学教程》,内容涵盖系统安全、信息收集等…

深入 Rust 标准库,Rust标准库源代码系统分析

系列文章目录 送书第一期 《用户画像:平台构建与业务实践》 送书活动之抽奖工具的打造 《获取博客评论用户抽取幸运中奖者》 送书第二期 《Spring Cloud Alibaba核心技术与实战案例》 送书第三期 《深入浅出Java虚拟机》 送书第四期 《AI时代项目经理成长之道》 …

彩信JSON接口对接发送

随着通讯技术的飞速发展,传统的短信已经无法满足人们日益增长的沟通需求。在这样的背景下,群发彩信作为一种更为先进、更为丰富的信息传递方式,逐渐受到了企业和个人的青睐。那么,群发彩信应该怎么对接,又具体有哪些优…

开发短剧平台的7大关键步骤,轻松掌握

短剧平台的开发是当前数字娱乐领域的热门话题之一。随着在线视频消费的增长和用户对短视频内容的需求不断增加,开发一个成功的短剧平台成为了许多创业者和企业关注的焦点。在本文中,我将分享开发短剧平台的7大关键步骤,帮助您轻松掌握这一过程…

文件外发审核是数据防泄漏的重要手段,那该怎么落地?

企业在日常经营中,无可避免地会产生文件外发的需求,文件发送对象包括但不限于合作方、供应商、客户、公关媒体、慈善组织等等,不一而足。而由于外发的对象不同,所涉及的文件类型也多种多样: 商业合作合同:…

react实现把pc网站快捷添加到桌面快捷方式

文章目录 1. 需求2. 实现效果3. 核心逻辑4. 完整react代码 1. 需求 这种需求其实在国外一些游戏网站和推广网站中经常会用到,目的是为了让客户 快捷方便的保存网站到桌面 ,网站主动尽量避免下次找不到网站地址了,当然精确的客户自己也可以使…

【B站 heima】小兔鲜Vue3 项目学习笔记Day04

文章目录 二级分类1.整体认识和路由配置2.面包屑导航功能实现3. 基础商品列表实现4. 定制路由滚动行为 详情页1.整体认识和路由配置2.基础数据渲染3.热榜区域实现4. 图片预览组件封装5.放大镜-滑块跟随移动左侧滑块跟随鼠标移动放大镜-大图效果 6. props适配7. SKU组件熟悉使用…

【Git】Git学习-12:关联本地仓库和远程仓库

学习视频链接:【GeekHour】一小时Git教程_哔哩哔哩_bilibili​编辑https://www.bilibili.com/video/BV1HM411377j/?vd_source95dda35ac10d1ae6785cc7006f365780 在github上建立仓库 根据指引将本地仓库push到github上 git remote add origin gitgithub.com:JVZO/f…

【STL专题】深入探索C++之std::string:不止于字符串【万字详解】

欢迎来到CILMY23的博客 🏆本篇主题为:深入探索C之std::string:不止于字符串 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux &#x1f3…

一阶数字高通滤波器

本文的主要内容包含一阶高通滤波器公式的推导和数字算法的实现以及编程和仿真 1 计算公式推导 1.1.2 算法实现及仿真 利用python实现的代码如下: import numpy as np # from scipy.signal import butter, lfilter, freqz import matplotlib.pyplot as plt #2pifW…