当在浏览器地址栏输入地址后,按下回车键。
- 回车按下以后,首先会检查缓存,如有未过期的缓存,会直接使用;
- 浏览器需要确认域名所对应的服务器的
IP地址,首先会通过本地hosts文件进行查找,如果找不到,则通过DNS服务器进行查找,直到确认到; - 与服务器建立
TCP(传输层) 链接,随后通过应用层——HTTP协议发送请求; - 服务器收到请求,
Web Sever进行初步处理,使用服务器脚本(Web Framework) 生成页面; -
Web Sever把生成的页面作为HTTP响应的body,根据不同结果生成header,发送给客户端 (浏览器); - 客户端收到响应后,解析
body里面的HTML代码; - 解析代码过程中遇到需要加载的资源(比如
CSS、JavaScript、图片、视频等),再向Web Sever发送请求,Web Sever找到指定的资源发回给客户端; - 客户端解析
CSS文件,对HTML的外观进行进一步渲染,如果JavaScript也有影响外观的代码则执行并进一步处理; - 当页面上出现交互动作,
JavaScript对此进行反应,增加特效和动画效果; - 在交互过程中遇到需要额外请求服务器上的资源的情况下 (比如局部刷新,上传表格等),如果不进行重新跳转就是通过
JavaScript向Web Sever进行请求,Web Sever通过服务器脚本进行处理 (比如操作数据库或服务器文件),把资源返回给客户端,客户端得到资源后进行相应的改变。
延伸阅读
常见的 Web server:Apache、Nginx、IIS
常见的 Web Framework 语言或平台:PHP、Node.js、Python