一、在浏览器输入URL(统一资源定位符,用于定位互联网上的资源)
URL对应有HTTP协议、https协议、(http和https协议主要是前者是明文传输,后者是加密传输)FTP协议、FILe协议等协议,域名其他相关信息
二、DNS域名解析
对于输入的网址,如“http://www.baidu.com”的URL,浏览器实际上不知道baidu.com的到底是什么,需要找baidu.com网站所在服务器的IP地址,才能找到目标。实际上充当了一个翻译的角色,完成了从网址到IP的转换。
域名(baidu.com)比较好记,语义化,而 IP比较难记,所以用域名代替IP
域名解析流程
1、浏览器缓存--浏览器会缓存DNS记录一段时间。
2、系统缓存-从HOSTS文件查找是否有该域名和对于IP。
3、路由器缓存--一般路由器也会有缓存。
4、ISP DNS缓存-比如到电信的DNS上查找缓存。
5、如果都没有找到,则向根域名服务器查找对应IP,则向顶级.com域名查找,如果再没有继续向baidu.com查找到相应IP
特殊情况:电脑上不了网,修改DNS为8.8.8.8或者114.114.114.114,是因为8.8.8.8是谷歌浏览器提供的服务器,114是国内的DNS服务商提供的,不用经过以上环节,直接从已定的服务器查找对应的IP
DNS劫持,输入的网址,但是打开的是假的网站,网址被私自篡改。
三、服务器处理
服务器是一台安装系统的机器,就是一台电脑,常见的系统如Linux/windows server 2012
系统里安装的有处理请求的软件webserver
常见的web服务器有Apache
接受用户的请求,交给网站代码,或者接受请求反向代理到其他WEB服务器
四、网站处理流程
MVC(Model View Controller)模型视图控制器:View 传送指令到 Controller,Controller 完成业务逻辑后,要求 Model 改变状态,Model 将新的数据发送到 View,用户得到反馈.
浏览器在收到html/css/js文件后,首先解析HTML文件构建DOM树,然后解析CSS文件构建渲染树,等到渲染树构建完成后,浏览器开始布局渲染树并将其绘制到屏幕上。