我正在阅读 Alex Maccaw 的这篇文章,他说:
最后一个问题是并行发送的 Ajax 请求。如果用户创建一条记录,然后立即更新同一条记录,则会同时发出两个 Ajax 请求,一个POST和一个 PUT。但是,如果服务器在“创建”请求之前处理“更新”请求,它就会崩溃。它不知道什么记录需要更新,因为该记录尚未创建。
对此的解决方案是将 Ajax 请求流水线化,以串行方式传输它们。Spine 默认执行此操作,将POST 、 PUT 和 DELETE Ajax 请求排队,以便一次发送一个。只有在前一个请求成功返回后才发送下一个请求。
但是 HTTP 规范Sec 8.1.2.2 Pipelining说:
客户端不应使用非幂等方法或非幂等方法序列对请求进行管道传输(参见第 9.1.2 节)。否则,传输连接的过早终止可能会导致不确定的结果。
那么,Spine 真的是“管道”POST 吗?