从URL输入到页面展示的过程:
一 .基本概念介绍
(1)什么是URL
URL是统一定位资源符,英文全称为Universal Resource Locator,是因特网上标准的地址。
URL有四种传输协议
1.http——超文本传输协议
2.ftp——文件传输协议
3.file——主要用于访问本地计算机中的文件
4.https——数据经过加密的超文本传输协议
注:开头只有//而不是协议,代表该URL的协议与当前页面一致。
(2)什么是IP与IP地址
IP是在TCP/IP协议中网络层的主要协议,任务是仅仅根据源主机和目的主机的地址传送数据;
为此目的,IP定义了寻址方法和数据报的封装结构。
IP是分配给网络上使用网际协议(英语:Internet Protocol, IP)的设备的数字标签。常见的IP地址分为
IPv4与IPv6两大类。IP地址相当于一台主机的门牌号。
IP地址总共有A,B,C,D,E 五类,其中最常用到的是A类B类和C类,常以32二进制组成常以
XXX.XXX.XXX.XXX形式表现,每组XXX代表小于或等于255的10进制数。例如我的电脑的IP地址是
27.151.164.140是一个A类IP地址。
公网IP:是由国际互联网分配的唯一的IP地址,是个静态IP地址。
内网IP:由路由器建立子网分配IP地址。
(3)什么是DNS
DNS是域名解析服务,DNS可以将域名映射到对应的IP地址。
IP地址的记忆较为不方便,于是选用了域名,可以更好的记忆,从而通过域名访问网站。
域名解析的流程:
1.浏览器缓存 – 浏览器会缓存DNS记录一段时间
2.系统缓存 - 从 Hosts 文件查找是否有该域名和对应 IP。
3.路由器缓存 – 一般路由器也会缓存域名信息。
4.ISP DNS 缓存 – 比如到电信的 DNS 上查找缓存。如果都没有找到,则向根域名服务器查找
域名对应 IP,根域名服务器把请求转发到下一级,直到找到 IP。
dns劫持:将系统缓存host文件里的域名对应的IP改成其他IP,致使用户访问该域名是是访问到其他的
网站。
(4)服务器
服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012。
常见的web服务器有Apache、Nginx、IIS、Lighttpd等。
二 .URL输入到页面展现的具体流程
1.在浏览器里输入URL
jianshu.png
2.域名解析
把域名解析成IP。域名存在的作用就是方便记忆。
域名解析的流程:
1.在浏览器里找缓存:浏览器会缓存DNS一段时间
2.在系统缓存里查找:从 Host文件查找是否有该域名对应的IP
3.在路由器缓存里查找:一般的路由器也会缓存域名
4.在ISPDNS缓存里查找
5.在根域名服务器查找域名对应的IP
3.服务器处理
web server接受用户的请求,并返回代码web server 担任管控的角色,对于不同用户发送的请求,会结合配置文件,把不同请求委托给服务器上处理对应请求的程序进行处理(例如CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript,或者一些其它的服务器端技术等),然后返回后台程序处理产生的结果作为响应。
4.网站处理流程
网站处理,就是实际后台处理的工作。后台开发现在有很多框架,但大部分都还是按照MVC设计模式进行搭建的。MVC是一个设计模式,将应用程序分成三个核心部件:模型(model)-- 视图(view)--控制器(controller),它们各自处理自己的任务,实现输入、处理和输出的分离。
url.png
1.视图(view)
视图是用户看到并与之交互的界面。这是前端工作的主力部分。
2.模型(model)
模型是将实际开发中的业务规则和所涉及的数据格式模型化,应用于模型的代码只需写 一次就可以被多个视图重用。在MVC的三个部件中,模型拥有最多的处理任务。一个模型 能为多个视图提供数据。
3.控制器(controller)
控制器接受用户的输入并调用模型和视图去完成用户的需求。Controller处于管理角色,从视图接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示模型处理返回的数据。
5.浏览器处理
通过后台处理返回的html字符串结果会被浏览器读取解析,对应就是html页面加载、解析、渲染的工作。1、加载浏览器对一个html页面的加载顺序是从上而下的,并在加载过程并行进行解析渲染处理。在这个过程中遇到link标签、image标签、script标签时,浏览器会再次向服务器发送请求获取css文件、图片资源、js文件,并执行js代码,同步进行加载解析。2、解析、渲染解析的过程,其实就是生成解析树,即dom树。dom树是由dom元素及属性节点组成,加上css解析的样式对象和js解析后的动作实现。而渲染,就是将DOM树进行可视化表示。下一步就来到了绘制网页的工作阶段。
6.绘制网页
浏览器通过上面步骤计算得到渲染树,是DOM树的可视化表示,构建渲染树使页面以正确的顺序绘制出来,遵循一定的渲染规则,经过一系列的渲染工作,实现网站页面的绘制,由此最终完成了页面展示。