| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 浏览器输入URL网址后经历过程 -> 正文阅读 |
|
[网络协议]浏览器输入URL网址后经历过程 |
1.在浏览器的地址栏中输入url。 2.浏览器检查缓存中的DNS记录,以找到url对应的IP地址,如果请求的URL不在缓存中,ISP的DNS服务器将发起DNS查询以查找托管URL的服务器的IP地址。 ????????DNS:域名系统。DNS是互联网的一项服务,他作为将域名和IP地址相互映射的一个分布式数据库。互联网上的每个URL都有一个分配给它的唯一IP地址,DNS是URL及其IP地址的列表,就像是电话簿是名称及其对应电话号码的列表一样。为了查找DNS记录,浏览器会检查四个缓存。 ????????1)检查浏览器缓存。 ????????2)浏览器检查操作系统缓存。 ????????3)检查路由器缓存。 ????????4)检查ISP缓存。 ? ? ? ? 5)DNS查询的目的是在Internet上搜索多个DNS服务器,直到找到网站正确的IP地址。 ? ? ? ? 6)我们将ISP的DNS服务器称为DNS递归器,其职责是通过向Internet上的其他DNS服务器咨询答案来找到预期域名的正确IP地址,其他DNS服务器被称为名称服务器,因为它们根据网站域名的域架构执行DNS搜索。 3.浏览器发起与服务器的TCP连接。 ????????1)一旦浏览器接收到正确的IP地址,他就会与匹配IP地址的服务器建立连接以传输信息,浏览器使用互联网协议来建立这样的连接。可以使用多种不同的Internet协议,但TCP是用于多种HTTP请求最常用协议。 ????????2)在客户端和服务器之间传输数据报,建立TCP连接很重要,此连接时使用TCP/IP三次握手来完成,其中客户端和服务器交换SYN(同步)和ACK(确认)消息以建立连接。 4.浏览器向网络服务器发送HTTP请求。 ????????一旦建立了TCP连接,就可以开始传输数据了,浏览器将发送一个GET请求,请求获取URL网页,如果您正在输入或提交表单,则可能是POST请求。 5.服务器处理请求并发回响应。 ????????服务器包含一个web服务器(Apache、IIS),它接收来自浏览器请求并将其传递给请求处理程序以读取和生成响应。请求处理程序是一个程序,它读取请求、请求头和cookie,以检查请求的内容并在需要的时候更新服务器上的信息,然后它将以特定格式(JSON、XML、HTML)组装响应。 6.服务器发出HTTP响应。 ????????服务器响应包含你请求的网页以及状态码、压缩类型(Content-Encoding)、如何缓存页面(Cache-Control)、要设置的任何cookie。隐私信息等。 7.浏览器显示HTML内容(对应HTML响应,这是最常见的)。 ????????浏览器分阶段显示HTML内容,首先,它将呈现HTML骨架,然后它会检查HTML标签并发送GET请求来获取网页上的其他元素,例如图像、CSS样式表、JavaScript文件等。这些静态文件由浏览器缓存,因此不必获取它们在下次访问页面的时候。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:32:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |