一.在浏览器输入URL
URL: 统一资源定位符,用于定位互联网上的资源
http、https、ftp、file 协议
file协议是主要用于访问本地计算机中的文件,基本的格式:file:///文件路径。
http协议是是用于从WWW服务器传输超文本到本地浏览器的传输协议。
https协议是一种网络安全传输协议,类似于经过一个加密后安全的http协议。
‘//’表示与当前页面协议保持一致
URL中默认端口号为80
二.域名解析
域名是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称。
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
DNS是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
a>域名解析流程
1.浏览器缓存:之前浏览过这个URL,浏览器会缓存DNS记录一段时间,下次访问可以直接提取地址访问。
2.系统缓存:第一次打开一个网址,浏览器是没有缓存的,查找系统缓存,从Host文件查找是否有该域名和对应的IP。
Mac:在Hostbuddy中找host文件
Windows:在C:\Windows\System32中找host文件
3.路由器缓存:若在HOST中没有找到相应IP地址,路由器中一旦有人登陆过这个网址就会有缓存域名信息。
4.ISP DNS 缓存:若在路由器中没有缓存,则到 互联网服务提供商的域名系统处寻找。比如到电信的DNS 上查找缓存。
5.如果都没有找到,则向根域名服务器查找域名对应IP,根域名服务器把请求转发到下一级,直到找到IP。
b>相关问题及回答
1.为什么发明域名,而不用IP?
域名能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串,IP是一串数字代表性不强,一个网站可能对应多个IP。
2.电脑上不了网,为什么修改dns为8.8.8.8 或者114.114.114.114?
8.8.8.8是google提供的dns服务器,打不开网站可能是环节中找不到IP,若把dns直接改为8.8.8.8则不从以上的那些路径一一查找,而是直接从google服务器查找域名所对应的IP。同理改为114.114.114.114(国内的一个服务商)也一样。
3.什么是dns劫持?
dns劫持:攻击根域名服务器,会使所查找的IP变更为一个恶意网站IP,具有很大危害。
三.服务器处理
服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012。
系统里安装的处理请求的应用叫 Web server。
web服务器(例如Apache,Nginx,IIS,Lightpd)相当于一个管理者,接受用户的请求交给网站代码,或者接受请求反向代理到其他服务器
四.网站处理流程
MVC 模型(model)-视图(view)-控制器(controller)
路由进行匹配然后把信息传给控制器,控制器通过语言调用模型得到数据,将数据填入html的模板,模型则是操作数据库,最终网站从控制器得到模板。
随后浏览器将进行处理,HTML字符串被浏览器接受后被一句句读取解析并且浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上,js 会被执行。例如:
解析到link 标签后重新发送请求获取css
解析到 script标签后发送请求获取 js,并执行代码
解析到img 标签后发送请求获取图片资源