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

【JavaWeb】从输入URL到展示出页面的过程

目录

DNS域名解析

检查hosts文件

查询缓存

查询本地DNS服务器

​编辑查询根域名服务器等

三次握手建立连接

发送请求

响应请求

页面渲染

断开连接


这些过程简单的理解为先找到某人地址,给他发送消息可以去他家拿东西吗?他同意后拿到他的东西在自己家中展示出来。最后和他互道再见。

下面将详细介绍其中的过程。


DNS域名解析

URL 是“统一资源定位符”(Uniform Resource Locator)的首字母缩写,中文译为“网址”,表示各种资源的互联网地址。

有关DNS协议可以参考这篇文章http://t.csdn.cn/qow4V

检查hosts文件

浏览器先检查本地的hosts文件中是否有域名和IP映射的关系,如果有就直接完成域名解析,不用进行后面的查IP的工作。

查询缓存

如果hosts文件中没有,就先查缓存中有没有IP。过程大致如下: 

查询本地DNS服务器

查询根域名服务器等

完整如下图:

以上过程拿到了域名的IP,此时就可以继续下一步。


三次握手建立连接

http://t.csdn.cn/uQcaG

上面这篇文章中的TCP的连接管理中介绍了三次握手。把文章中的客户端换成浏览器即可。


发送请求

浏览器把请求打包成HTTP请求发送给服务器。

响应请求

服务器把发送过来的请求处理之后,把结果打包成HTTP报文返回给浏览器。

这上面的HTTP报文遵守的HTTP协议将会在下一篇文章中详细介绍。


页面渲染

浏览器拿到服务器返回的报文后就开始处理加工了。

处理HTML标签,构造成DOM树。

根据CSS解析生成CSS规则树。

DOM树 + CSS规则树 = 渲染树

重排:根据渲染树计算每个结点的几何信息

重绘:将每个结点绘制到屏幕上

回流:若哪个结点发生了变化,则重新生成渲染树重复上述步骤


断开连接

如果没有其他的操作,此时浏览器就会和服务器通过四次挥手来断开连接。

上面文章中三次挥手的下面就是四次挥手。


有什么错误评论区指出。希望可以帮到你。

http://www.lryc.cn/news/31520.html

相关文章:

  • 华为OD机试真题Java实现【数字涂色】真题+解题思路+代码(20222023)
  • Log Structure Merge Tree
  • Python QT5设计UI界面教程
  • uniapp系列-图文并茂手把手教你hbuilder进行uniapp云端打包 - 安心打包
  • 【精品】SpringBoot中基于拦截器实现登录验证功能
  • 哈工大服务科学与工程第一章作业
  • SpringMVC源码:参数解析、方法调用与返回值处理
  • 【MySQL】表的数据处理
  • 反思当下所处的环境,有没有让你停滞不前、随波逐流
  • 小程序(十四)后端-签到成功
  • X264简介-Android使用(一)
  • DetectGPT:使用概率曲率的零样本机器生成文本检测
  • 【深度学习】BERT变体—BERT-wwm
  • 【华为OD机试真题 java、python、c++】优秀学员统计【2022 Q4 100分】(100%通过)
  • JavaScript里的循环方法:forEach,for-in,for-of
  • 汽车标定知识整理(二):CCP报文基本命令介绍
  • windows系统安装Linux虚拟机教程
  • “基于Spring Cloud Alibaba的微服务架构实战:Nacos配置管理“
  • 【Linux】常见面试题
  • 【数据结构】顺序表:尾部操作我很行,随机访问我超快!!!
  • SQL优化
  • Java ArrayList 和 LinkList 原理对比
  • 【Spring】入门概述(一)
  • 十二、面向切面编程AOP
  • Mybatis 处理 CLOB/BLOB 类型数据
  • 【NLP经典论文阅读】Efficient Estimation of Word Representations in Vector Space(附代码)
  • Spring bean生命周期分为几个阶段?
  • 【基础算法】单链表的OJ练习(4) # 分割链表 # 回文链表 #
  • SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊)
  • Arduino添加ESP32开发板