!、 删除、更新操作,这两个操作也具有幂等性。
相对于 不具备幂等性。当我们因为反复刷新浏览器导致多次提交表单,多次
发出同样的 $% 请求,导致远端服务器重复创建出了资源。
所以,对于电商应用来说,
第一、对应的后端 &'%一定要做到幂等性,
第二、服务器端收到 $% 请求,在操作成功后必须 ( 跳转到另外一个页面,这样即使
用户刷新页面,也不会重复提交表单。
)* 和 $% 方法的区别
)* 和 $% 方法都是基于 +, 协议,两者的数据传输都是建立在 的连接
)* 方法从服务器获取资源,$% 是向服务器发送数据
)* 浏览器回退是无害的,而 $% 会再次提交请求。
)* 产生 地址可以被书签收藏,并且被浏览器缓存,而 $% 不能书签收藏也不能
缓存
)* 只能进行 -%,, 编码,而 $% 支持多种编码方式。
)* 参数通过 传递,并且长度有限制,而 $% 放在 .'! 并且长度没有
限制。并且,正因为这个原因,)* 比 $% 更不安全,因为参数暴露在 中。
二者还有一个显著区别:)* 产生一个 数据包;$% 产生两个 数据包。
对于 )* 方式的请求,浏览器会把 ! 和 ! 一并发送出去,服务器响应
(((返回数据);
而对于 $%,浏览器先发送 !,服务器响应 ((,浏览器再发送 !,
服务器响应 (((返回数据)。
http 状态码
(!/(代表永久性转移01 2!3
(!/(代表暂时性转移01 2!3
都代表重定向,浏览器的 栏都跳到了新的地址。
他们的不同在于。( 表示旧地址 - 的资源已经被永久地移除了(这个资源不可访问了)
搜索引擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址;( 表示旧地址 -
的资源还在(仍然可以访问),这个重定向只是临时地从旧地址 - 跳转到地址 4,搜索引
擎会抓取新的内容而保存旧的网址。
((客户端应重新发送初始请求,并在请求中附上第一次请求时未提供的表示
((请求成功
(资源(网页等)被永久转移到其它
(请求的资源(网页等)不存在
(服务器端知道客户端所请求的资源曾经存在,但现在已经不存在
(5当客户端试图执行一个“会导致一个或多个资源处于不一致状态”的操作时
((内部服务器错误
通知 成功 重定向 客户端出错 服务器出错
http1.0 1.1 2.0 区别
( 和 区别:
缓存处理:( 主要是用 ! 里的 61!7!,8 来做缓存判断
标准, 引入更多的缓存控制策略。
评论0
最新资源