当在浏览器地址栏输入地址后,按下回车键。
- 回车按下以后,首先会检查缓存,如有未过期的缓存,会直接使用;
- 浏览器需要确认域名所对应的服务器的
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