2014-02-13 46 views
0

我有一個Java Web應用程序,坐在Jetty容器中。我想知道如果我將兩個請求一個接一個地提交給同一個URL,會發生什麼情況。假設請求是簡單的GET請求並且沒有副作用。當我向同一個URL提交2個請求時會發生什麼?

我想象一下,每個請求會發生什麼,HTTP請求會發送到URL,Jetty會收到它並啓動一個新線程來處理請求,然後生成響應並通過HTTP發回。

在瀏覽器的上下文中 - 如果我在第一個請求返回之前發送了第二個請求,那麼第一個響應是否會被丟棄而不被使用?這實際上是一個浪費的交易嗎?

+3

爲什麼你只是不嘗試...? – MGorgon

+1

那麼,由於每個請求都由它自己的線程提供服務,爲什麼第二個請求會先殺死它呢? – Leo

回答

0

一般而言,您無法知道服務器沒有爲每個獲取提供不同的響應 - 可能會增加一個計數器,這只是一個簡單的例子 - 所以除非服務器或客戶端是明確設置緩存結果每個請求得到獨立處理。

+0

但是如果我在我的瀏覽器窗口中,並且我將請求發射出去,然後再發射第二個?在瀏覽器中呈現哪個響應? – jcm

+0

在同一窗口和標籤中?通常,瀏覽器會放棄第一個會話並顯示第二個會話,如果有時間的話。否則,瀏覽器顯示,然後重新顯示。但這是瀏覽器實現的細節,而不是HTTP通信。 – keshlam

+0

是的,你是對的。我想我的問題應該更清楚。我會編輯它。 – jcm

相關問題