Web Server 将生成的页面做为 HTTP 响应的 body,根据不一样的处理结果生成 HTTP header,发回给客户端;
客户端(浏览器)接收到 HTTP 响应,一般第一个请求获得的 HTTP 响应的 body 里是 HTML 代码,因而对 HTML 代码开始解析;
解析过程当中遇到引用的服务器上的资源(额外的 CSS、JS代码,图片、音视频,附件等),再向 Web Server 发送请求,Web Server 找到对应的文件,发送回来;
浏览器解析 HTML 包含的内容,用获得的 CSS 代码进行外观上的进一步渲染,JS 代码也可能会对外观进行必定的处理;
用户与页面交互(点击,悬停等等)时,JS 代码对此做出必定的反应,添加特效与动画;
交互的过程当中可能须要向服务器索取或提交额外的数据(局部的刷新,相似微博的新消息通知),通常不是跳转就是经过 JS 代码(响应某个动做或者定时)向 Web Server 发送请求,Web Server 再用服务器脚本进行处理(生成资源or写入数据之类的),把资源返回给客户端,客户端用获得的资源来实现动态效果或其余改变。