从输入域名,到拿到首页的所有细节过程

本文详细阐述了从输入域名到显示网页的整个过程,包括域名解析、浏览器查找IP、发送HTTP请求、处理重定向、服务器响应以及浏览器渲染HTML等关键步骤,揭示了互联网背后的工作原理。
摘要由CSDN通过智能技术生成

深刻理解输入域名,到拿到首页的所有细节过程  以访问百度为例

目录

输入地址

浏览器查找域名的IP地址

浏览器向WEB服务器发送Http请求

浏览器的永久重定向响应

服务器处理请求

服务器返回一个HTTP响应

浏览器显示HTML


从输入url到页面展示总共经过如下几个过程:

  1. 域名解析(获得IP地址)
  2. 向WEB服务器发送HTTP请求
  3. 服务器处理请求
  4. 服务器返回HTTP响应
  5. 浏览器显示页面信息

一、输入地址

网址,即URL,被解析为若干部分。例如对于www.baidu.com,实际上它的完整形式是:http://www.baidu.com:80/。
其中包括了以下部分:


协议:http

域名:www.baidu.com。其中baidu.com是百度的域名,www是这个域名下的二级域名。

端口:80
路径:/

当输入url地址后,浏览器已经在智能匹配地址了,会从历史记录、书签或缓存中查找,如果找到了,会从缓存中调出页面显示出来,在你还没有按“enter”之前将页面显示出来

二、浏览器查找域名的IP地址

浏览器查找域名的IP地址按照以下几个步骤进行(这是你输入url,按了enter之后):

    首先会在浏览器的缓存中查找是否有该域名对应的IP地址,如果有,则直接返回该IP地址;如果没有,则查找本地硬盘上的hosts文件中是否有,如果有,则返回对应的IP地址;如果没有,则查找路由器缓存中是否有对应的IP地址,如果有,则返回;
    如果在浏览器缓存中、hosts文件中、路由器缓存中都没有找到ip地址,则浏览器会发起一个DNS请求到本地DNS服务器,本地DNS服务器一般是由你的网络接入服务器商提供,如:电信、移动;
    DNS请求到达本地DNS服务器后,本地DNS服务器会先在自己的缓存中查找,如果找到了就返回找到的IP,这个过程是以递归的方式进行的;如果没有,则本地DNS服务器继续向根DNS服务器发起请求;
根DNS服务器并没有记录域名与IP的对应关系,而是告诉本地DNS服务器,可以到哪个顶级域名服务器上    查询,并给出该顶级域名服务器的地址,此过程是以迭代的方式进行的;
    本地DNS继续向顶级域名服务器发出查询请求,顶级域名服务器接收到请求后,会告诉本地DNS到权限域名服务器上去查询;
    本地DNS继续向权限域名服务器发出查询请求,权限域名服务器查询到域名对应的IP后,将IP地址返回给本地DNS,本地DNS接收后将其保存到自己的缓存中,以备下次查询,提高查询速度;至此,一个IP地址的查询就此结束;


DNS解析是一个递归查询的过程:


注意:DNS域名解析是以递归的方式进行的

关于DNS
1. 什么是DNS
    DNS(domain name system,域名系统):因特网上域名和IP地址相互映射的分布式数据库;简单理解就是域名与IP地址的对照表,因为域名(如:www.google.com)对于我们而言,更便于记忆,但是机器却不擅长这种表达方式,因此需要将域名转换为IP地址,以便于机器识别, 这便

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
浏览器从输入URL到显示页面的过程大致可以分为以下几个步骤: 1. DNS解析:浏览器首先会解析URL中的域名部分,将其转换为对应的IP地址。它会先检查浏览器缓存中是否存在该域名的解析结果,如果没有,就会向本地操作系统或者网络中的DNS服务器发送查询请求,获取对应的IP地址。 2. 建立TCP连接:一旦获取到目标服务器的IP地址,浏览器会通过TCP/IP协议与服务器建立连接。这个过程中,浏览器会与服务器进行三次握手,确保双方能够正常通信。 3. 发送HTTP请求:建立TCP连接后,浏览器会发送HTTP请求给服务器。请求中包含了请求行(包括请求方法、URL路径和HTTP协议版本)、请求头(包含一些附加信息,如User-Agent、Cookie等)以及请求体(一般用于POST请求,传递数据)。 4. 服务器处理请求:服务器接收到浏览器发送的HTTP请求后,会根据请求的内容进行处理。处理过程可能包括查询数据库、读取文件等一系列操作,最终生成需要返回给浏览器的数据。 5. 接收响应并渲染页面:服务器处理完请求后,会将生成的响应数据封装成HTTP响应,并发送给浏览器。浏览器接收到响应后,会根据响应头中的信息判断响应的内容类型,然后对内容进行解析和渲染。对于HTML页面,浏览器会解析HTML结构、加载CSS和JavaScript文件,并根据这些文件渲染出最终的页面。 6. 关闭TCP连接:页面渲染完毕后,浏览器会关闭与服务器的TCP连接。如果页面中存在其他资源(如图片、样式表、脚本等),浏览器会继续发送相应的HTTP请求获取这些资源,并进行相应的渲染。 这就是浏览器从输入URL到显示页面的基本过程。其中涉及到的具体细节和技术可以更加深入和复杂,但以上步骤概括了整个过程

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值