从URL输入到页面展现都发生了什么?
第一步、输入URL
URL是什么
统一资源定位符(Uniform Resource Locator,缩写为URL),又叫做网页地址,是互联网上标准的资源的地址(Address)。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。它最初是由蒂姆·伯纳斯-李发明用来作为万维网的地址的。现在它已经被万维网联盟编制为因特网标准RFC1738了。统一资源定位符的开始,一般会标志着一个计算机网络所使用的网络协议。
URL的几个部分
百度完整的URL地址:https://www.baidu.com/link?url=sofXEgyeLzeisB_YfK4BQmywO9kRUuUrCNxYWtf0fI-8sQ1ZtanCPsip2xchhicn&wd=&eqid=e87ea4c90011764d000000065d4fc73f
协议部分
在该URL中,协议部分为(https://),这代表该网页使用的是https协议。在Internet中可以使用多种协议。常见的协议有:” http:// ” (超文本传输协议,信息是明文传输)、“ https:// ”(进行加密的网络传输协议)、" file:// "(本地文件传输协议,file协议主要用于访问本地计算机中的文件)、" ftp:// "(文件传输协议)," mailto: "(资源为电子邮件地址,通过SMTP访问)。还有一种URL前面没有加指定协议,它是指获取该资源需要使用的协议与当前的URL是保持一致的。
域名部分
用来确定服务器在互联网上的位置,域名的目的是便于记忆和沟通的一组服务器的地址,是唯一不可重复的。
域名一般也分三个级别域名
一级域名(顶级域名):比如.com .cn 二级域名:http://baidu.com http://qq.com 三级域名:http://www.baidu.comhttp://www.qq.com 例子中http://www.baidu.com是二级域名 .com 供商用的国际域名 .cn 供商用的中文域名 .net 用于网络供应服务商(系统类的经常使用net域名) .org 用于官方组织 .edu 用于教育院校 .gov 用于政府机构 .io 是(British Indian Ocean Territory)英属印度洋领地的简写 ...
端口号
用来区分同一台服务器上不同服务的标识(基于web服务管理创建服务的时候可以指定),不同服务之间一般是不能使用相同的端口号的。 HTTP => 默认端口号80 HTTPS => 默认端口号443 FTP => 默认端口号21 如果当前网络服务,采用的是协议对应的默认端口管理,那么当用户输入网址的时候可以不指定端口号,浏览器会默认帮用户把默认的端口传递给服务器。(开发者在服务器上发布服务的时候需要指定端口) 一台服务器上的端口号范围:0~65535之间 webstorm预览页面:http://localhost:63342/QQMusicWebApp.html/ webstorm预览页面:webstorm把自己的电脑当做服务器,在服务器上创建一个服务,端口号是63342,自己电脑上的浏览器预览自己电脑上的服务,属于本机服务请求,用localhost(127.0.0.1)本地域名即可。 服务器上安装一款应用都可能会作为一个服务,占用一个端口号。
问号传参及哈希值
?xx=xxx这是问号传参,在HTTP事务中,问号传参是客户端把信息传递给服务器的一种方式(也有可能是跳转到某一个页面,把参数值传递给页面用来标识的)。 #xxx这是哈希值,哈希值一般都是跟用户端服务器交互没啥关系,主要用于页面中的锚点定位和HASH路由切换。
第二步、域名解析
DNS是什么
域名系统(Domain Name System缩写DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。DNS系统是为解析域名为 IP 地址而存在的。
IP
IP 网络协议(英语:Internet Protocol)。
IP分为内网和外网。
内网(也称局域网),是几台或者几十台电脑之间互相连接用于资源共享的网络,家庭、单位所使用的网络一般都是内网。内网中的设备使用内网 IP,一般来说这个 IP 的格式都是 http://192.168.xxx.xxx。
外网(也称广域网),在单位、家庭之外有覆盖范围极大的网络,比如internet,这个大网络延伸到了我们的单位、家庭(通过光纤、网线、电话线等)。我们把自己的局域网连接到internet上,那么我们的访问范围就从局域网扩展到了整个internet。这时候,就说局域网是内网,internet是外网。
内网和外网就像两个隔绝的空间,无法互通,唯一的联通点就是路由器(因为路由器既有外网 IP 也有内网 IP),所以路由器有时候也被叫做网关。
每个处于互联网的机器都有IP地址,比如192.168.0.1,127.0.0.1代表着本机的IP地址。
域名解析的流程
第三步、服务器处理
服务器是一台安装系统的机器,系统里安装的处理请求的应用叫Web server
常见的web服务器有Apache、Nginx、IIS、Lighttpd
web服务器接收用户的Request交给网站代码,或者接收请求方向代理到其他web服务器
第四步、网站处理流程
MVC模型(model)—视图(view)—控制器(controller)
第五步、浏览器处理
第六步、绘制网页
浏览器根据HTML和CSS计算得到渲染树,绘制到屏幕上,JS会被执行。