1.url
全称:统一资源定位符
作用:用来定位互联网上的资源
一个url就代表互联网上的一个资源,它可以是一个图片,一个视频,一个网站,一个css
url包括协议,域名,端口,路径,文件名
http:明文传输
file:定位到本机的资源
https:加密传输,中间的路由器等节点不能查看,安全性更高
如果省略了协议,只有//则表示该url的协议和当前html的协议保持一致
如果当前html的协议是https而内部url的协议是http,可能会加载不出来或报错
2.域名解析
举例:输入baidu.com后,浏览器要先查找baidu.com所在服务器的ip地址,通过这个ip访问服务器
为什么用域名不直接用ip?因为域名比ip的数字串好记
如何把域名解析成ip?
流程:
浏览器缓存:先查找浏览器缓存,因为DNS会在浏览器中缓存一段时间
系统缓存:如果输入的网站浏览器缓存中没有,那浏览器会从Hosts文件查找是否有该域名和对应ip
路由器缓存:如果系统缓存中还找不到,那就看路由器里有没有,一般路由器里也会缓存域名信息
服务商缓存:路由器中还找不到的话会向服务商的dns中查找缓存
以上都找不到时,会向根域名服务器查找域名对应ip,服务器向下一级发送请求,直到找到ip
3.服务器处理
服务器是一台安装操作系统的机器,常见的系统有Linux,windows server2012,一台普通电脑,只要运行了服务器的软件,那就是一台服务器。系统里安装的处理请求的应用叫Web server.
常见的web服务器有Apache,Nginx,IIS,Lighttpd
服务器的作用:接收用户的请求后交给网站代码,或者反向代理到其他web服务器
4.网站处理
如果说域名是用于把请求送到网站,那域名后的部分才是告诉网站要做什么
网站收到请求后,交给控制器处理,处理完后发给浏览器
控制器的功能:
(1)和模型交互,而模型是专门用来找数据的
(2)和视图交互,视图就是html的一个模板
将从模型中拿到的数据塞到模板里形成一个新的html,这时就形成了一个带数据的html文件,再把这个文件发给浏览器
5.浏览器处理
浏览器接收html文件后进行读取解析:
解析到link标签则发送请求获取css;
解析到script标签则发送请求获取js并执行代码;
解析到img标签则发送请求获取图片资源。
每一次的请求都跟第四步的逻辑是一样的。
6.绘制网页
数据都到位后,浏览器根据html和css计算得到渲染树,绘制到屏幕上,js会被执行