一张动图告诉你,输入网址之后,发生了什么事情?

news2024/9/21 22:47:52

让我们一步一步地来看这个过程。

步骤1:

用户在浏览器中输入一个URL(比如www.bytebytego.com),然后按下回车键。首先,我们需要将这个URL转换成一个IP地址。通常,这个映射关系会被存储在缓存中,因此浏览器会在多个缓存层中查找IP地址:浏览器缓存、操作系统缓存、本地缓存和ISP(互联网服务提供商)缓存。如果浏览器在缓存中找不到这个映射关系,它会请求DNS(域名系统)解析器来解析这个URL。

步骤2:

如果IP地址在任何缓存中都找不到,浏览器会去DNS服务器执行递归式的DNS查找,直到找到IP地址为止。

步骤3:

现在我们有了服务器的IP地址,浏览器会向服务器发送一个HTTP请求。为了安全访问服务器资源,我们应该始终使用HTTPS。首先,它通过TCP的三次握手与服务器建立TCP连接。然后,它将公钥发送给客户端。客户端使用公钥来加密会话密钥并发送给服务器。服务器使用私钥来解密会话密钥。现在,客户端和服务器可以使用会话密钥来交换加密数据。

步骤4:

服务器处理请求并发送响应。对于成功的响应,状态码是200。响应分为3个部分:HTML、CSS和Javascript。浏览器解析HTML并生成DOM树。它还解析CSS并生成CSSOM树。然后它将DOM树和CSSOM树合并成渲染树。浏览器渲染内容并显示给用户。

这个过程涉及许多复杂的技术,但它让你能够在浏览器中轻松访问网页。无论你是在搜索信息、观看视频还是购物,这个过程都在背后默默运行,使互联网成为可能。

请添加图片描述

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

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

相关文章

【设计模式】第6节:创建型模式之“原型模式”

由于本人现在所使用的语言主要是golang,所以后面的代码主要使用golang编写。语言实现应该不是障碍,主要是理解每种设计模式它的思想。 如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段都相同)…

企业 Tomcat 运维 部署tomcat反向代理集群

一、Tomcat 简介 Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器, Tomcat和Nginx、Apache(httpd)、Web服务器一样,具有处理HTML页面的功能不过Tomcat处理静态HTML的能力不如Nginx/Apache服务器 一个tomcat默认并…

我的ChatGPT的几个使用场景

示例一,工作辅助、写函数代码: 这里展示了一个完整的代码,修正,然后最终输出的过程。GPT具备足够丰富的相关的小型代码生成能力,语法能力也足够好。这类应用场景,在我的GPT使用中,能占到65%以上…

快速入门:使用 Spring Boot 构建 Web 应用程序

前言 本文将讨论以下主题: 安装 Java JDK、Gradle 或 Maven 和 Eclipse 或 IntelliJ IDEA创建一个新的 Spring Boot 项目运行 Spring Boot 应用程序编写一个简单的 Web 应用程序打包应用程序以用于生产环境 通过这些主题,您将能够开始使用 Spring Boo…

使用logback按天生成日志并按等级进行分类

先看效果---->>>> 按照&#xff1a;error、info、warn进行分类&#xff1a; 每个文件里面按日期进行分类&#xff1a; 其中对应的Maven如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven…

微服务框架SpringcloudAlibaba+Nacos集成RabbiMQ

目前公司使用jeepluscloud版本&#xff0c;这个版本没有集成消息队列&#xff0c;这里记录一下&#xff0c;集成的过程&#xff1b;这个框架跟ruoyi的那个微服务版本结构一模一样&#xff0c;所以也可以快速上手。 1.项目结构图&#xff1a; 配置类的东西做成一个公共的模块 …

Java学习 8.方法习题

1.递归求 N 的阶乘的和 思路 循环递归先从1到N相乘&#xff0c;求出每一项的阶乘&#xff0c;在定义变量将它们相加 代码实现 public static int rec(int N){int i1;int sum0;int num1;for(i1;i<N;i){num*i;sumnum;}return sum;} 运行结果 2.递归求和 求12...10 思路 …

react项目入门,创建项目

react项目入门&#xff0c;创建项目 // react-ts项目入门&#xff0c;创建项目 // https://juejin.cn/post/6844904184597184519第零步&#xff0c;检查版本 node -v npm -v 1a69c3036bc3aea6d29d2b66fe46602f.jpg 第一步&#xff0c;新建个文件夹&#xff0c;不能中午命名&a…

AI时代:ChatGPT让程序员插上翅膀

程序员开发新模式&#xff1a;一本专注于帮助程序员在AI时代实现晋级、提高效率的图书。书中介绍了如何使用 ChatGPT 来完成高质量代码编写、文档编写、软件设计等各个环节&#xff0c;并通过实战案例展示了 ChatGPT在实际项目开发中的应用方法。 1.开发新模式&#xff1a;让程…

Linux安装pinpoint监控保姆级安装攻略没有之一

Linux安装pinpoint监控&#xff0c;保姆级安装攻略&#xff0c;没有之一 pinpoint介绍 Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具&#xff0c;用于基于java的大规模分布式系统&#xff0c;基于Google Dapper论文。 架构组成 Pinpoin…

Flask Shell 操作 SQLite

一、前言 这段时间在玩Flask Web&#xff0c;发现用Flask Shell去操作SQLite还是比较方便的。今天简单地介绍一下。 二、SQLite SQLite是一种嵌入式数据库&#xff0c;它的数据库就是一个文件&#xff0c;处理速度快&#xff0c;经常被集成在各种应用程序中&#xff0c;在IO…

5分钟搞定深度学习中间特征可视化

精华置顶 墙裂推荐&#xff01;小白如何1个月系统学习CV核心知识&#xff1a;链接 今天跟大家分享一个可视化CNN/ViT中间特征的库&#xff1a;pytorch-grad-cam 下载地址&#xff1a;https://github.com/jacobgil/pytorch-grad-cam pytorch-grad-cam支持多种可视化方法&#…

接口测试之jmeter基本归结

一、接口测试 二、jmeter脚本开发 三、Jmeter参数化技术

云帆培训考试系统更新说明:v6.9.0

1、增加群组功能 -- 增加群组功能&#xff0c;一个用户可以存在于多个小组中&#xff1b; -- 在线考试、课程学习、活动报名、题库训练、知识竞赛增加群组权限设置&#xff1b; 2、增加线下考试功能 -- 增加线下考试功能&#xff0c;可批量导入线下成绩&#xff0c;管理线下…

Spring Web MVC练习

一&#xff1a;开发程序常见问题 (1)学会定位前后端问题 &#x1f497;通过看日志&#xff0c;查看到底是前端问题还是后端问题 ①前端&#xff1a;F12查看网页的控制台 ②后端&#xff1a;测试后端接口参数&#xff1b;查看IDEA的控制台 (测试后端接口参数&#xff0c;即去访…

java中包的概念

内容仅供复习 java中包是把一些类进行打包&#xff0c;在一个包中所有public的类可以直接使用。如果在别的包中要使用一个类就必须import这个包。friendly类型的方法在同个包中可以使用&#xff0c;在不同包里面不可以访问这个类型的方法。 创建一个java项目&#xff0c;在src…

【Http协议】 二

实际开发中&#xff0c;经常需要能够手动的构造出Http协议的请求 一般是通过以下几种方式&#xff1a; 1.通过html中的form表单 2.通过js的ajax 3.Java代码&#xff08;其他各种语言&#xff09; 4.借助一些第三方工具 1.通过html的form标签/表单构造http请求 >对于编写html…

SpringBoot通过注解形式实现系统操作日志

介绍 我们在日常开发工作中&#xff0c;肯定逃不开与日志接触&#xff0c;一些比较严谨的后台管理系统里面会涉及到一些比较重要的资料&#xff0c;有些公司为了知道有哪些人登录了系统&#xff0c;是谁在什么时候修改了用户信息或者资料&#xff0c;所以就有了操作日志这么个…

MySQL 基础学习笔记(一)

目录 1 SQL简介2 MySQL基本语法2.1 语法规则2.2 数据类型 3 DDL3.1 操作数据库3.2 操作表 4 DML4.1 添加数据4.2 修改数据4.3 删除数据 5 DQL5.1 基础查询5.2 条件查询5.3 排序查询5.4 聚合查询5.5 分组查询5.6 分页查询 1 SQL简介 SQL &#xff1a;Structured Query Language&…