用户打开浏览器,输入 baidu.com,页面展示百度首页。整个过程发生了什么?
一、在浏览器输入URL
在开始讲述这一过程前,我们需要了解一下URL是什么?
-
我们在浏览器的地址栏里输入的网站地址叫做URL。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接,URL就确定了要浏览的地址。
-
URL (Uniform Resource Locator)是统一资源定位符,对可以从互联网上得到的资源(图片、文件等)的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
-
基本的URL包含协议(或称模式)、服务器名称(或IP地址)、路径和文件名。
协议包括http、https、ftp、file.
1.http是互联网应用最为广泛的一种网络协议,目的是为了提供一种发布和接受HTML页面的方法。
协议的功能:
- 是用于从WWW服务器传输超文本到本地浏览器的传输协议。
- HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。
- 浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。
2.https是安全版的http,用于安全的HTTP数据传输。
3.文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。FTP有着极高的延迟。
4.file----当地电脑或网上分享的文件。
二、域名解析
对于http://baidu.com的URL,浏览器不知道baidu.com到底是什么,需要查找baidu.com网站所在的服务器的IP地址,才能找到目标。
- baidu.com就是域名。
IP地址
- 每个处于互联网的设备都有IP地址。
- 局域网的IP跟公网的IP是有差别的。
- 127.0.0.1代表本机IP。
域名解析流程
1、浏览器缓存——浏览器会缓存DNS记录记录一段时间。
2、系统缓存——从本地电脑Host文件查找是否有该域名和对应IP。
3、路由器缓存——一般路由器也会缓存域名的信息。
4、ISP DNS缓存——比如到电信的DNS差找缓存。
5、如果都没有找到,则向根域名服务器查找域名对应的IP,根域名服务器把请求抓发到下一级,找到IP。
电脑上不了网了
-
修改dns为8.8.8.8(谷歌服务器)或114.114.114.114。
-
dns劫持是根域名服务器中的域名对应的IP被改了。
三、服务器处理
-
你的Request被baidu的服务器接收。
-
服务器是一台安装系统的机器,比如Linux、windows server 2012,系统里安装的处理请求的应用叫web server 。
-
常见的web服务器有Apache,Nginx,IIS,Lighttpd。
四、浏览器处理
-
baidu的服务器向你的浏览器传输HTML字符串,这些字符串被浏览器接收后被一句句读取解析。
-
解析到link标签后重新发送请求获取CSS。
-
解析到script标签后重新发送请求获取JS,并执行代码
-
解析到img标签后发送请求获取图片资源。
五、绘制网页
- 浏览器根据HTML和CSS计算得到渲染树,绘制到屏幕上,js被执行。
网友评论