我们平时打开网页,都是通过输入网址或者直接点收藏夹的链接,等待几秒钟,就会有页面呈现。在这个过程中,发生的事情很有学习价值。接下来,我大概地说一下我学习的这个过程。
在这之前,先了解一些必要的名词。
URL
URL((Uniform Resoure Locator)——统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。完整的、带有授权部分的普通统一资源标志符语法看上去如下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
URL有四种传输协议
1.http——超文本传输协议
2.ftp——文件传输协议
3.file——主要用于访问本地计算机中的文件
4.https——数据经过加密的超文本传输协议
DNS
DNS(Domain Name System)是域名解析服务,DNS可以将域名映射到对应的IP地址。
IP地址的记忆较为不方便,于是选用了域名,可以更好的记忆,从而通过域名访问网站。
域名解析的流程
1.浏览器缓存 – 浏览器会缓存DNS记录一段时间
2.系统缓存 - 从 Hosts 文件查找是否有该域名和对应 IP。
3.路由器缓存 – 一般路由器也会缓存域名信息。
4.ISP DNS 缓存 – 比如到电信的 DNS 上查找缓存。
如果都没有找到,则向根域名服务器查找域名对应 IP,根域名服务器把请求转发到下一级,直到找到 IP。
IP
IP是“网络之间互连的协议”(Internet Protocol)的外语缩写,网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。
在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守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地址。
服务器
服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012。
常见的web服务器有Apache、Nginx、IIS、Lighttpd等。
从URL输入到页面展现
1,在浏览器输入URL
2,域名解析
DNS将域名映射到对应的IP地址并访问。
3,服务器处理
web服务器接收用户的Request 交给网站代码,或者接受请求反向代理到其他 web服务器。
4, 网站处理
MVC 模型(model)-视图(view)-控制器(controller)
5,浏览器处理
HTML字符串被浏览器接受后被一句句读取解析,
解析到link 标签后重新发送请求获取css,
解析到 script标签后发送请求获取 js,并执行代码,
解析到img 标签后发送请求获取图片资源。
6,绘制网页
js 会被执行,浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上。