当前位置:网站首页>从输入URL到页面展示这中间发生了什么?
从输入URL到页面展示这中间发生了什么?
2022-07-03 02:59:00 【夏赞恩】
1.万维网和HTTP协议
万维网WWW是一个大规模的、联机式的信息储藏所/资料空间(文字、视频、音频···),是无数个网络主站点和页面的集合。而这些资源需要统一资源定位符来进行标识。
统一资源定位符URL -> 唯一标识 -> 资源(文字、视频、音频···)
URL一般形式:<协议>://<主机>:<端口>/<路径>
用户通过点击超链接获取资源,这些资源通过超文本传输协议HTTP传送给使用者。
万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。
2. HTTP协议(无状态的)
HTTP协议定义了浏览器(万维网客户进程)怎样向WWW服务器请求WWW文档,以及服务器怎样把文档传送给浏览器。
用户浏览页面方法:
- 输入URL
- 点击超链接
浏览器具体过程:
浏览器分析URL
浏览器向DNS请求解析IP地址
DNS解析出IP地址(详见DNS系统)
浏览器与服务器建立TCP连接
浏览器发出取文件命令
服务器响应
释放TCP连接
浏览器显示(浏览器可以只下载文本部分)
HTTP采用TCP作为运输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文前不需要建立HTTP连接)
3. DNS系统
根:.
顶级域名:
- 国家顶级域名 cn,us,uk
- 通用顶级域名 com,net,org,gov
- 基础结构域名/反向域名 arpa
二级域名: - 类别域名 ac,com,edu,gov,net,org
- 行政区域名 用于我国各省、自治区、直辖市 bj,js
- 自己注册的域名(全球唯一)
三级域名:
pku.mail
四级域名…
域名服务器:
- 根域名服务器:(管理该根服务器注册的所有顶级域名):
- 顶级域名服务器(管理该顶级域名服务器注册的所有二级域名):
- 权限域名服务器(负责一个区的域名服务器):
- 本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器。
域名解析过程:
- 递归查询(交给别人查询)
请求查询的主机先查本地域名服务器,本地域名服务器去查根域名服务器,根域名服务器去查顶级域名服务器,顶级域名服务器再找权限域名服务器, 找到后原路返回给请求查询的主机 - 递归与迭代相结合(有来有回)(第一步是递归查询,递给本地域名服务器去查询)
请求查询的主机先查本地域名服务器,本地域名服务器去查根域名服务器,根域名服务器告诉本地域名服务器下一步应该去查顶级域名服务器,顶级域名服务器告诉该本地域名服务器下一步应该去查权限域名服务器, 权限域名服务器把结果返回给本地域名服务器,本地域名服务器再把结果返回给请求查询的主机。
边栏推荐
- tensor中的append应该如何实现
- 模糊查詢時報錯Parameter index out of range (1 > number of parameters, which is 0)
- C语言初阶-指针详解-庖丁解牛篇
- HTB-Devel
- ASP. Net core 6 framework unveiling example demonstration [02]: application development based on routing, MVC and grpc
- docker安装mysql
- Linear rectification function relu and its variants in deep learning activation function
- js根据树结构查找某个节点的下面的所有父节点或者子节点
- Error when installing MySQL in Linux: starting mysql The server quit without updating PID file ([FAILED]al/mysql/data/l.pid
- Introduction to cron expression
猜你喜欢
I2C 子系统(四):I2C debug
I2C subsystem (IV): I2C debug
Left connection, inner connection
docker安装redis
Linear rectification function relu and its variants in deep learning activation function
The Linux server needs to install the agent software EPS (agent) database
I2C subsystem (III): I2C driver
The process of connecting MySQL with docker
Practice of traffic recording and playback in vivo
Random shuffle note
随机推荐
Deep reinforcement learning for intelligent transportation systems: a survey paper reading notes
【富瀚6630编码存录像,用rtsp服务器及时间戳同步实现vlc观看录像】
Pytest (6) -fixture (Firmware)
[principles of multithreading and high concurrency: 1_cpu multi-level cache model]
I2C 子系统(二):I3C spec
HW initial preparation
Reset or clear NET MemoryStream - Reset or Clear . NET MemoryStream
Use cve-2021-43893 to delete files on the domain controller
From C to capable -- use the pointer as a function parameter to find out whether the string is a palindrome character
Can netstat still play like this?
vfork执行时出现Segmentation fault
Distributed transaction
Wechat - developed by wechat official account Net core access
I2C subsystem (III): I2C driver
Chart. JS multitooltip tag - chart js multiTooltip labels
Summary of interview project technology stack
How to select the minimum and maximum values of columns in the data table- How to select min and max values of a column in a datatable?
Three.js本地环境搭建
2022-2028 global splicing display industry research and trend analysis report
Add MDF database file to SQL Server database, and the error is reported