一、在浏览器中输入URL
那么这里的URL是什么了,按照官方的定义:统一资源定位符,用于定位互联网上的资源,其实这里我们可以简单的理解为一个网址,如:https://www.baidu.com就是一个完整的URL,当我们访问这个URL,就会得到一个百度的搜索框。
二、域名解析
对于http://www.baidu.com的URL,浏览器其实并不知道www.baidu.com是什么东西,需要查找www.baidu.com网站所在服务器的IP地址,才可以找到目标。PS:使用域名而不直接实用IP的目的主要在于便于我们记住
域名解析流程如下:
1、浏览器缓存——浏览器会缓存DNS(域名系统)记录一段时间
2、系统缓存——从Host文件是否有该域名对应IP
3、路由器缓存——一般路由器中也会缓存域名信息
4、ISP DNS缓存——如在电信的DNS上查找缓存
5、若都没寻找到,则向根域名服务器查找域名对应的IP,根域名服务器将请求转发到下一级、寻找到对应IP
三、服务器处理
服务器就是一台安装系统的机器,常见的有windows server2003、windows server2008、Linux,系统里安装处理请求的应用叫Web Sever。
web服务器一般接受用户的Request交给网站代码,或者接受请求反向代理到其他的web服务器
四、网站处理流程
这里我们以MVC(模型——视图——控制器)为例,重点关注视图模块
五、浏览器处理
HTML字符串被浏览器接受之后一句句读取解析
解析到link标签后重新发送请求获取css
解析到script标签后发送请求获取js,并执行代码
解析到img标签后发送请求获取图片资源
六、绘制网页
浏览器根据HTML和CSS计算得到渲染树,绘制到屏幕上,js会被执行,呈现出网页。