前不久,leader叫我做一个,一张数据表的内容在网页上的增删改查,就类似于用网页操作一张数据表的简单例子而已,我花了一个下午把它搞定了。然后在给leader检验成果的时候,他在点了修改修改了一个数据并且返回主页的时候,安了一个F5,然后我看着,不懂他在干什么,在安了一下,还是没反应,他问我是不是用了ajax,我说没有,他问为什么会按F5会没有刷新延迟,我答我用的是重定向处理,所以相当于直接访问,他问我为什么要用重定向呢,我告诉他我不喜欢看后面的一串参数在那搁着,而且地址也一直不变。于是他笑了,叫我去研究一下restful。
扯了那么多,进入正题。leader的意思其实是:这里应该用get方式去获取数据,而不是沿用前面修改按钮的post方式。这样会使逻辑清晰,更重要的是,这样对web来说,其实是一种规范,就好像java中间类名首字母大写一样。
然后我就去网上查了一下restful的资料:
restful是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
不知道大家明白没有,其实restful只是用于客户端和服务器的交互过程的一个规范,即
①当你要获取服务器数据时你应当提交get请求
②当你要修改服务器数据时应当提交post请求
③当你要在服务器上增加数据时应当提交put请求
④当你要在服务器上删除数据时应当提叫delete请求
这样使得你的交互从逻辑上讲非常的清晰,并且各种途径之间隔离做的非常好,就不会出现update数据后,你转发时留下的参数会对接下来你请求的get数据产生影响,也就是我前文中我leader给我提出的问题。
并且当这种行为方式用在web服务时,我想restful就显得更为重要了,因为web服务的宗旨其实就是提供服务的,其实也就是提供数据的。restful架构的重要性不言而喻。①restful使得你的服务逻辑清晰②restful使得你的服务隔离性好③restful使得你的服务层次清晰④简化了你的设计