从URL到页面展现(以百度为例)
第一步 在浏览器里输入URL
URL是什么
URL:统一资源定位符,用于定位互联网上的资源 Uniform Resource Locator
涉及的协议:http(明文的) https(加密的) ftp(本地) file
http://baidu.com
https://10.20.199.123
file://Users/gz/Desktop/a.md
第二步 域名解析
对于http://baidu.com的URL,对于浏览器来说,这只是一串字符,
浏览器实际上不知道baidu.com到底是什么东西,需要查找网站
baidu.com所在服务器的IP地址,这样才能找到目标,这就需要域名
解析。
域名是什么?IP是什么?为什么要使用域名,而不直接使用IP?
对于http://baidu.com(可能还含有端口号),baidu.com就是域
名。
IP地址:每个处于互联网的设备都有IP地址,形如192.168.0.1
使用域名是为了用户更加友好的访问目标网站,但是对计算机而言,访
问IP地址会更快,效率会更高,因为域名需要域名解析服务器进行解
析,最后还是转化成IP。
参考博客:http://www.cnblogs.com/sunhk/p/5174354.html
域名解析的流程
1.浏览器缓存---浏览器会缓存DNS一段时间
若之前已经打开过或者访问过一个网站,那么可以直接通过访问该IP地
址来打开网页
2.系统缓存---从Hosts文件查找是否有该域名和对应IP
先从浏览器里面找,找不到再从Hosts文件里面去找
Windows下Hosts文件所在位置:https://jingyan.baidu.com/
article/a501d80cee03d8ec630f5e14.html
Hosts作用:网址域名与对应IP建立“数据库”
参考博客:https://blog.csdn.net/qq_35246620/article/
details/66970211
3.路由器缓存--一般路由器也会缓存域名信息
4.ISPDNS缓存---比如到电信的DNS上查找缓存
5.如果没有找到,则向根域名服务器查找域名对应IP,根域名服务器
把请求转发至下一级,直到找到IP地址
DNS劫持(危害极大)
DNS(域名系统)的作用是把网络地址(域名,以一个字符串的形式)
对应到真实的计算机能够识别的网络地址(IP地址),以便计算机能够
进一步通信,传递网址和内容等。由于域名劫持往往只能在特定的被劫
持的网络范围内进行,所以在此范围外的域名服务器(DNS)能够返回正
常的IP地址,高级用户可以在网络设置把DNS指向这些正常的域名服务
器以实现对网址的正常访问。所以域名劫持通常相伴的措施——封锁正常
DNS的IP。如果知道该域名的真实IP地址,则可以直接用此IP代替域名
后进行访问。比如访问百度域名,可以把访问改为202.108.22.5,从
而绕开域名劫持 。再者访问淘宝,域名都是一样的,上了个家淘宝也
全然不知。
第三步 服务器处理
服务器就是一台安装系统的机器,系统里安装的处理请求的应用叫做
WEB sever
WEB服务器
第四步 网站处理流程
第五步 浏览器处理
HTML字符串被浏览器接收后一句句读取解析,解析到link标签后,重
新发送请求获取CSS,解析到script标签后发送请求获取Js,并执行代
码,解析到img标签后发送请求获取图片资源
第六步 绘制页面
浏览器根据HTML(内容)和CSS(样式)计算得到渲染书,绘制到屏幕
上,js会被执行