当前位置: 首页 > news >正文

当我们在地址栏输入URL的时候浏览器发生了什么

在这里插入图片描述

URL 解析

  • 是否合法
    首先判断你输入的是一个合法的 URL 还是一个待搜索的关键词,并且根据你输入的内容进行自动完成、字符编码等操作。
  • 检查http缓存
    在这里插入图片描述

DNS 查询

浏览器缓存 -> 操作系统缓存 -> 路由器缓存 -> DNS缓存 -> 根域名服务器查询
在这里插入图片描述

TCP 连接

OSI七层模型(应用表示会话传输网络数据链路物理)
应用层:发送 HTTP 请求
传输层:TCP 传输报文
网络层:IP协议查询Mac地址
链路层:以太网协议

处理请求

后端服务器监听特定端口收到后进行对应的逻辑处理
后台代码经过解析封装 对数据库操作等
最终返回响应给浏览器

接受响应

浏览器接受响应

  • 查看 Response header,根据不同状态码做不同的事
  • 对响应资源做缓存

渲染页面

浏览器解析HTML代码 分别渲染DOM树和CSS树 经过回流重绘最终展示
在这里插入图片描述

相关文章:

当我们在地址栏输入URL的时候浏览器发生了什么

URL 解析 是否合法 首先判断你输入的是一个合法的 URL 还是一个待搜索的关键词,并且根据你输入的内容进行自动完成、字符编码等操作。检查http缓存 DNS 查询 浏览器缓存 -> 操作系统缓存 -> 路由器缓存 -> DNS缓存 -> 根域名服务器查询 TCP 连接 …...

【研发日记】Matlab/Simulink开箱报告(十一)——Requirements Toolbox

目录 前言 Requirements Toolbox 编写需求 需求联接设计 需求跟踪开发进度 追溯性矩阵 分析和应用 总结 前言 见《开箱报告,Simulink Toolbox库模块使用指南(六)——S-Fuction模块(TLC)》 见《开箱报告&#x…...

Elastic 8.13:Elastic AI 助手中 Amazon Bedrock 的正式发布 (GA) 用于可观测性

作者:来自 Elastic Brian Bergholm 今天,我们很高兴地宣布 Elastic 8.13 的正式发布。 有什么新特性? 8.13 版本的三个最重要的组件包括 Elastic AI 助手中 Amazon Bedrock 支持的正式发布 (general availability - GA),新的向量…...

MFC 截取对话框生成图片、截取整个屏幕(可取黑白反色或者整体图片取反色)

HWND hwnd ::GetDesktopWindow();//截整个屏幕,用从这往下4句HDC hdc ::GetDC(hwnd);CDC dc;dc.Attach(hdc);CRect rc,rcw;GetWindowRect(&rcw);GetClientRect(&rc);//只截对话框,用这句//rc.SetRect(0, 0, GetSystemMetrics(SM_CXSCREEN), Ge…...

【LeetCode: 331. 验证二叉树的前序序列化 + DFS】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...

【Consul】Linux安装Consul保姆级教程

【Consul】Linux安装Consul保姆级教程 大家好 我是寸铁👊 总结了一篇【Consul】Linux安装Consul保姆级教程✨ 喜欢的小伙伴可以点点关注 💝 前言 今天要把编写的go程序放到linux上进行测试Consul服务注册与发现,那怎么样才能实现这一过程&am…...

pytorch常用的模块函数汇总(1)

目录 torch:核心库,包含张量操作、数学函数等基本功能 torch.nn:神经网络模块,包括各种层、损失函数和优化器等 torch.optim:优化算法模块,提供了各种优化器,如随机梯度下降 (SGD)、Adam、RMS…...

素数的计数律:Π函数、歪斜数

相当多的数字! 一、说明 自从人类开始掌握最起码的算术概念以来,有一类数字一直处于最前沿——素数。素数定义简单,但难以捕捉,众所周知,素数是数学中一些最困难问题的罪魁祸首,让几代最优秀的数学家感到…...

图像识别在农业领域的应用

图像识别技术在农业领域的应用正在逐渐成熟,它通过分析处理拍摄的植物或农田的图像,为农业生产提供决策支持。以下是图像识别在农业中的一些关键应用: 病虫害检测:图像识别技术能够识别作物上的病斑、虫害或异常状况。通过比较高…...

【JavaSE】java刷题--数组练习

前言 本篇讲解了一些数组相关题目(主要以代码的形式呈现),主要目的在于巩固数组相关知识。 上一篇 数组 讲解了一维数组和二维数组的基础知识~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎…...

预处理、编译、汇编、链接过程

预处理、编译、汇编、链接过程 预处理 引入头文件 #include 展开宏定义 #define 处理条件编译指令 #ifdef 删除注释 添加行号 在Linux下可以使用gcc -E命令把hello.c文件预处理成hello.i文件。windows这些操作都集成在编译器visual studio这些里面了。 编译 进行语法分…...

3、Cocos Creator 节点和组件

目录 1、 节点和组件 2、 节点层级和显示顺序 3、坐标系和节点变换属性 坐标系 锚点 旋转 缩放 尺寸 4、 常用技巧 5、参考 1、 节点和组件 Cocos Creator 的工作流程是以组件式开发为核心的,组件式架构也称作 组件 — 实体系统(或 Entity-C…...

【js刷题:数据结构数组篇之长度最小的子数组】

长度最小的子数组 一、题目二、方法1.暴力解法2.滑动窗口是什么滑动窗口的起始位置滑动窗口的结束位置代码展示 3.力扣刷题水果成篮题目思路代码 一、题目 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组&…...

大话设计模式之装饰模式

装饰模式(Decorator Pattern)是一种结构型设计模式,它允许向现有对象动态地添加新功能,同时又不改变其结构。装饰模式通过将对象放入包装器中来实现,在包装器中可以动态地添加功能。 在装饰模式中,通常会有…...

国赛大纲解读

1. 第一部分,是针对5G基础知识的掌握,第二部分是人工智能基本算法的掌握,就是人工智能的应用,用5G+人工智能(AI算法)进行网络优化的问题,要有网络优化的基础知识,比如说:某个区域的覆盖问题,覆盖特别差,但有数据,覆盖电频,srp值这些数据给你,根据数据来判断是…...

设计模式(5):原型模式

一.原型模式 通过 n e w 产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。 \color{red}{通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。} 通过new产生一个对象需要非常繁琐的数据准备或访问权限&#xf…...

【React】vite + react 项目,进行配置 eslint

安装与配置 eslint 1 安装 eslint babel/eslint-parser2 初始化配置 eslint3 安装 vite-plugin-eslint4 配置 vite.config.js 文件5 修改 eslint 默认配置 1 安装 eslint babel/eslint-parser npm i -D eslint babel/eslint-parser2 初始化配置 eslint npx eslint --init相关…...

Windows入侵排查

目录 0x00 前言 0x01 入侵排查思路 1.1 检查系统账号安全 1.2 检查异常端口、进程 1.3 检查启动项、计划任务、服务 0x00 前言 当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时…...

C语言每日一题

1.题目 二.分析 本题有两点需要注意的&#xff1a; do-while循环 &#xff1a;在判断while条件前先执行一次do循环static变量 &#xff1a;程序再次调用时static变量的值不会重新初始化&#xff0c;而是在上一次退出时的基础上继续执行。for( i 1; i < 3; i )将调用两次…...

TheMoon 恶意软件短时间感染 6,000 台华硕路由器以获取代理服务

文章目录 针对华硕路由器Faceless代理服务预防措施 一种名为"TheMoon"的新变种恶意软件僵尸网络已经被发现正在侵入全球88个国家数千台过时的小型办公室与家庭办公室(SOHO)路由器以及物联网设备。 "TheMoon"与“Faceless”代理服务有关联&#xff0c;该服务…...

现代C++中的编译期反射替代思路

现代C中的编译期反射替代思路C 长期缺乏完整标准反射能力&#xff0c;但工程上依然经常需要“遍历字段、生成元信息、自动序列化、自动注册”。在正式反射广泛可用之前&#xff0c;开发者通常通过宏、模板特化、tuple 适配和代码生成等方式实现替代方案。一种常见思路是手工提供…...

Hello Robot 发布 Stretch 4 移动操作机器人,推动具身智能迈向家庭实用化

近日&#xff0c;机器人公司 Hello Robot 正式推出了其新一代产品——Stretch 4 移动操作机器人。作为 Stretch 3 的全面升级迭代&#xff0c;全新的 Hello Robot 具身智能平台​ 在移动灵活性、环境感知、运行性能与续航能力上实现了显著突破&#xff0c;并将设计重心明确转向…...

从零到一:我的CentOS私服游戏搭建实战与避坑指南

1. 环境准备&#xff1a;从零开始的CentOS系统部署 第一次接触游戏私服搭建时&#xff0c;我像大多数新手一样对Linux系统充满敬畏。但实际用CentOS搭建环境比想象中简单——只要避开几个关键雷区。推荐使用CentOS 7.9这个经典版本&#xff0c;它在稳定性和软件兼容性上表现最好…...

ElevenLabs老年语音情感衰减难题破解(附可复用的Prosody增强JSON Schema与实测MOS提升2.1分)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs老年男性语音情感衰减现象的本质剖析 ElevenLabs 的老年男性语音模型&#xff08;如 “Antoni” 或 “Josh”&#xff09;在高语速、长句或情绪密集场景下&#xff0c;常出现语调扁平化、微停…...

终极指南:3分钟学会用Onekey下载Steam游戏清单,告别手动烦恼

终极指南&#xff1a;3分钟学会用Onekey下载Steam游戏清单&#xff0c;告别手动烦恼 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey 想要快速获取Steam游戏清单却苦于复杂操作&#xff1f;Oneke…...

构建个人技能中心:Git+Markdown打造结构化知识库实践

1. 项目概述&#xff1a;一个技能驱动的开源知识库 最近在整理自己的技术栈和项目经验时&#xff0c;我一直在思考一个问题&#xff1a;如何将那些零散的、在不同项目中反复验证过的“技能点”系统化地沉淀下来&#xff0c;形成一个可以随时查阅、复用和迭代的“个人工具箱”&…...

深度解析AI模型Docker镜像:从DeepSeek部署到生产级容器化实践

1. 项目概述&#xff1a;一个AI模型镜像的深度解构最近在社区里看到不少朋友在讨论dirk1983/deepseek这个Docker镜像&#xff0c;作为一个长期在AI工程化和容器化部署一线摸爬滚打的从业者&#xff0c;我觉得有必要来聊聊这个看似简单的镜像背后&#xff0c;究竟藏着哪些门道。…...

别再乱接线了!ESP32-DevKitC V4开发板引脚功能详解与避坑指南(附引脚图)

ESP32-DevKitC V4开发板引脚安全操作手册&#xff1a;从入门到精通的接线法则 当你第一次拿到ESP32-DevKitC V4开发板时&#xff0c;那些密密麻麻的引脚可能会让你感到无从下手。作为一名曾经因为误接引脚而烧毁过三块开发板的"过来人"&#xff0c;我深知正确的引脚使…...

开源AI智能体QClaw-Mimic:用个人数据微调大模型打造专属数字分身

1. 项目概述&#xff1a;一个能“模仿”你的开源智能体最近在GitHub上看到一个挺有意思的项目&#xff0c;叫QClaw-Mimic。光看名字&#xff0c;Mimic&#xff08;模仿&#xff09;这个词就挺抓人的。点进去一看&#xff0c;果然&#xff0c;这是一个旨在通过分析你的历史对话数…...

基于CircuitPython的红外遥控发射器:从原理到实现的万能控制方案

1. 项目概述&#xff1a;打造你的万能红外遥控发射器搞嵌入式开发的朋友&#xff0c;对红外遥控肯定不陌生。家里电视、空调、风扇的遥控器&#xff0c;本质上都是一个红外信号发射器。你有没有想过&#xff0c;自己动手做一个能模拟所有遥控器的“万能发射器”&#xff1f;今天…...