I recently came across a post by Alex Maccaw, where he discusses the challenges of sending Ajax requests in parallel:
Maccaw explains that if a user creates a record and quickly updates it, two Ajax requests are sent simultaneously - a POST and a PUT. However, the server may process the 'update' request before the 'create' one, causing confusion as the record has not yet been created.
To address this issue, Spine defaults to queuing up Ajax requests serially, ensuring that POST, PUT, and DELETE methods are sent one at a time, with the next request only being sent after the previous one has completed successfully.
In contrast, the HTTP spec (referenced here) cautions against pipelining non-idempotent requests, as premature termination of the connection could lead to unpredictable outcomes.
This raises the question: does Spine really implement a pipeline for POST requests?