第一步·在浏览器中输入URL
- URL:统一资源定位符(Uniform Resource Locator)我们通常叫做网址。
- 协议:
1.http协议(HyperText Transfer Protocol,超文本传输协议):是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
2.https协议(Secure Hypertext Transfer Protocol,安全超文本传输协议):它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。
3. FTP协议(File Transfer Protocol,文件传输协议):中文简称为“文传协议”。用于Internet上的控制文件的双向传输。
4.file协议:File协议主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。
5.//协议:与当前页面的协议保持一致。
第二步·域名解析
- 对于www.baidu.com浏览器不知道这是什么,需要将其解析为对应的IP地址。用域名代替IP地址的原因主要是因为其又一定的规律,方便记忆。
- 对于www.baidu.com这个域名,“.com”为一级域名也称顶级域名,“baidu.com”为二级域名,“www.baidu.com”为三级域名。
- 域名后面的“:80”为端口号,一般端口号默认为80可以省略。
- 什么事IP地址:
1. 每个处于互联网的设备都有自己的IP地址,正因为有了这个IP地址,才可以上网。
2. 在百度中直接搜索IP可以得到当前自己的IP地址,一般的私人用IP地址是动态分配的,而相对的是静态IP。
3. 局域网IP和公网IP是有区别的。
4. 127.0.0.1代表本机IP。 - 域名解析的流程:
1. 浏览器缓存 – 浏览器会缓存DNS(域名系统)记录一段时间
2. 系统缓存 - 从 Hosts 文件查找是否有该域名和对应 IP。
3. 路由器缓存 – 一般路由器也会缓存域名信息。
4.ISP DNS 缓存 – 比如到电信的 DNS 上查找缓存。
5.如果都没有找到,则向根域名服务器查找域名对应 IP,根域名服务器把请求转发到下一级,直到找到 IP。 - DNS劫持:又称域名劫持是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址。
第三步·服务器处理
- 服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012,系统里安装的处理请求的应用叫 Web server(web服务器)。
- 常见的 web服务器有 Apache、Nginx、IIS、Lighttpd。
- web服务器接收用户的请求交给网站代码,或者接受请求反向代理到其他 web服务器。
第四步·网站处理
- MVC:模型(model)-视图(view)-控制器(controller),具体如下图所示:
屏幕快照 2017-09-23 下午9.48.31.png - 前端主要负责MVC中的V部分即视图部分。
- HTML字符串被浏览器接受后被一句句读取解析,解析到link 标签后重新发送请求获取css,解析到 script标签后发送请求获取 js并执行代码,解析到img 标签后发送请求获取图片资源。
- 浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上,js 会被执行。