网络请求 http get post 一

   Http 定义了与server交互的不同方法。最主要的方法有4种。各自是Get POST PUT DELETE ,URL 全称资源描写叙述符,我们能够这样觉得一个URL地址,一个URL地址,它用于描写叙述一个网络上的资源。而HTTP 中的Get POST PUT DELETE 就 相应着

1.依据HTTP规范,GET用于信息获取。并且应该是安全的和幂等的

          (1).所谓安全的意味着该操作用于获取信息而非改动信息。

换句话说,GET 请求一般不应产生副作用。

就是说,它不过获取资源信息,就像数据库查询一样,不会改动。添加数据。不会影响资源的状态。

  * 注意:这里安全的含义不过指是非改动信息。

  (2).幂等的意味着对同一URL的多个请求应该返回相同的结果。

这里我再解释一下幂等这个概念:

        幂等(idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。


  幂等有一下几种定义:
  对于单目运算。假设一个运算对于在范围内的全部的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比方绝对值运算就是一个样例,在实数集中,有abs(a)=abs(abs(a))
  对于双目运算,则要求当參与运算的两个值是等值的情况下,假设满足运算结果与參与运算的两个值相等。则称该运算幂等,如求两个数的最大值的函数,有在在实数集中幂等。即max(x,x) 
= x


  2.依据HTTP规范,POST表示可能改动变server上的资源的请求。继续引用上面的样例:还是新闻以站点为例,读者对新闻发表自己的评论应该通过POST实现。由于在评论提交后站点的资源已经不同了,或者说资源被改动了。



上面大概说了一下HTTP规范中GET和POST的一些原理性的问题。

但在实际的做的时候,非常多人却没有依照HTTP规范去做,导致这个问题的解决办法有非常多。比方说:

  1.非常多人贪方便,更新资源时用了GET。由于用POST必需要到FORM(表单),这样会麻烦一点。

  2.对资源的增,删,改。查操作,事实上都能够通过GET/POST完毕。不须要用到PUT和DELETE。

  3.另外一个是。早期的Web MVC框架设计者们并没有有意识地将URL当作抽象的资源来看待和设计。所以导致一个比較严重的问题是传统的Web MVC框架基本上都仅仅支持GET和POST两种HTTP方法。而不支持PUT和DELETE方法。

   * 简单解释一下MVC:MVC本来是存在于Desktop程序中的,M是指数据模型。V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离。从而使同一个程序能够使用不同的表现形式。




posted @ 2015-12-21 20:46  mengfanrong  阅读(167)  评论(0编辑  收藏  举报