把《[url=http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm]架构风格与基于网络的软件架构设计[/url]》博士论文大致看了一遍, 真是晦涩, 看的人只想睡觉, 不知道dlee他们是如何把它翻译完的, 看完之后我只想说一句话:其实就是要理解一些架构风格以及每一种架构风格之间的约束. "客户-无状态-服务器"是REST所对应的架构风格, 它有一系列对应的约束, 通过这篇[url=http://www.ibm.com/developerworks/cn/web/wa-ajaxarch/]"Ajax 和 REST"[/url]文章又让我明白了ajax跟REST之间的关系, 并且知道了ajax是如何做到遵从REST的约束的.
早期的通过HTTP访问静态资源的WEB设计是符合REST的约束的,但是随着互联网的发展, 需要根据不同的请求得到不同的数据这种获得动态数据的做法就开始逐渐与REST所对应的约束相违背了, 首先的一个违背就是没法在服务器端和客户端对资源进行缓存(这里的缓存意义跟JAVA EE中的缓存意义不同), 其次要在服务器端保存大量的状态, 比如在JAVA EE中通过HttpSession保存当前请求用户的信息
Ajax的出现,又让Web应用开始符合REST所规定的约束, 首先可以对稳定的不会经常变动的脚本代码进行本地缓存, 其次关于各种状态可以在放到客户端加以保存(这个是通过无刷新技术来实现, 因为只要有刷新, 客户端就无法对各种状态信息进行保存, 只有让服务器端来保存了)
早期的通过HTTP访问静态资源的WEB设计是符合REST的约束的,但是随着互联网的发展, 需要根据不同的请求得到不同的数据这种获得动态数据的做法就开始逐渐与REST所对应的约束相违背了, 首先的一个违背就是没法在服务器端和客户端对资源进行缓存(这里的缓存意义跟JAVA EE中的缓存意义不同), 其次要在服务器端保存大量的状态, 比如在JAVA EE中通过HttpSession保存当前请求用户的信息
Ajax的出现,又让Web应用开始符合REST所规定的约束, 首先可以对稳定的不会经常变动的脚本代码进行本地缓存, 其次关于各种状态可以在放到客户端加以保存(这个是通过无刷新技术来实现, 因为只要有刷新, 客户端就无法对各种状态信息进行保存, 只有让服务器端来保存了)