输入网址会发生什么事
当用户打开浏览器,输入 baidu.com,页面展示百度首页。整个过程发生了什么?下面是我的个人看法
- 我们输入的baidu.com是什么意思
- 为什么会出现网页
当我们输入baidu.com,敲起回车,浏览器会将域名baidu.com通过DNS域名解析成IP地址,然后向该IP地址的服务器发起请求,服务器响应并进行处理,往浏览器(客户端)发送HTML等等的文件,浏览器收到文件后进行解析处理,在通过浏览器渲染把页面呈现到我们的屏幕上。
- 域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。 ——维基百科
浏览器首先按以下顺序检查缓存中的DNS记录,如果存在即返回对应的IP
- 浏览器缓存
- 系统缓存(hosts文件)
- 路由器缓存
- ISP缓存
但是凡是事都有例外,如果请求的URL不在缓存中,本地域名服务器会向根域名服务器发送一个请求。如果不存在,转发给下一级查询,顺序如下: - 根域名服务器
- COM顶级域名服务器
- baidu.com域名服务器
- 一旦浏览器收到正确的IP地址,它将与服务器建立TCP连接。使用称为TCP/IP三次握手的过程建立此连接以进行数据传输。
- 建立TCP连接后,就可以开始传输数据了。浏览器将发送HTTP请求。
- web服务器接收HTTP请求,由控制层处理逻辑,从数据库取得模型,视图层组装页面,返回HTTP响应
- 最后服务器返回HTTP响应,浏览器渲染页面,我们就看到百度的主页了
这就是整个过程。