第1章 深入Web请求过程
随着Web 2.0时代的到来,互联 网的网络架构已经从传统的C/S架构转变到更加方便快捷的B/S架构,B/S架构大大简化了用户使用网络应用的难度,这种人人都能上网、人人都能使用网络上提供的服务的方法也进一步推动了互联网的繁荣。
B/S架构带来了两方面好处:
◎ 客户端使用统一的浏览器(Browser)。由于浏览器具有统一性,它不需要特殊的配置和网络连接,有效地屏蔽了不同服务提供商提供给用户使用服务的差异性。另外,最重要的一点是,浏览器的交互特性使得用户使用它非常简便,且用户行为的可继承性非常强,也就是用户只要学会了上网,不管使用的是哪个应用,一旦学会了,在使用其他互联网服务时同样具有了使用经验,因为它们都基于同样的浏览器操作界面。
◎ 服务端(Server)基于统一的HTTP协议。和传统的C/S架构使用自定义的应用层协议不同,B/S架构使用的都是统一的HTTP协议。使用统一的HTTP协议也为服务提供商简化了开发模式,使得服务器开发者可以采用相对规范的开发模式,这样可以大大节省开发成本。由于使用统一的HTTP协议,所以基于HTTP协议的服务器就有很多,如Apache、IIS、Nginx、Tomcat、JBoss等,这些服务器可以直接拿来使用,不需要服务开发者单独来开发。不仅如此,连开发服务的通用框架都不需要单独开发,服务开发者只需要关注提供服务的应用逻辑,其他一切平台和框架都可以直接拿来使用,所以B/S架构同样简化了服务器提供者的开发,从而出现了越来越多的互联网服务。
B/S网络架构不管对普通用户的使用还是对服务的开发都带来了好处,为互联网的主要参与者、服务使用者和服务开发者降低了学习成本。但是作为互联网应用的开发者,我们还是要清楚,从用户在浏览器里单击某个链接开始,到我们的服务返回结果给浏览器为止,这个过程中到底发生了什么、这其中还需要哪些技术来配合。
所以本章将为你描述这一过程的工作原理,它将涉及浏览器的基本行为和HTTP协议的解析过程、DNS如何解析到对应的IP地址、CDN又是如何工作和设计的,以及浏览器如何渲染出返回的结果等。