2012-10-14 59 views
2

有時,我請求一個頁面,它也需要太長長時間來接收請求的響應,然後加載頁面(有時請求超時,我從來沒有得到響應)。但是,如果我打開一個新選項卡,複製確切的URL,然後附加任意GET變量(具有任意值),則請求會非常快地獲得響應(如正常狀態),而且頁面然後加載,雖然請求沒有得到沒有任意的GET變量的響應。爲什麼添加一個任意的GET變量會加速長時間的請求?

對於假例如,如果我要求:

http://example.com/

這可能需要很長的時間只是加載,沒有收到任何迴應還,但如果我只是打開一個新的標籤(在同一時間),並要求:

http://example.com/?foo=bar

它加載像變魔術一樣!

這是爲什麼發生在我身上?我的瀏覽器和網頁服務器之間的道路可能是什麼原因?它與ISP服務器緩存有什麼關係?

任何解釋都非常值得讚賞,因爲我真的很想知道原因!

P.S:我在敘利亞(在互聯網絡中可能有任何瘋狂的事情),而且這不僅發生在我身上,而且也發生在我認識的所有人身上。

編輯:

注意,它發生即使網址有GET變量中,將會給一個真實的例子我有一個博客,有時候請求此頁面(我更改域名):

http://myblogdomain.com/wp-admin/admin.php?page=jetpack

需要很長的時間(有時超時),但如果我打開一個新標籤,並要求:

http://myblogdomain.com/wp-admin/admin.php?page=jetpack&foo=bar

加載速度很快(正常情況)。

+0

會發生什麼事,如果你在其他爲了做到這一點? – SLaks

+0

@SLaks:另一個順序是什麼?如果你的意思是'bar = foo',那麼就像我說的那樣,任何事情都可以完成! –

+0

嘗試使用yslow或pagespeed分析延遲,其他調試器查看延遲來源的位置。 – AMember

回答

1

您和其他互聯網之間可能存在緩存代理和/或防火牆。代理中可能有一條規則說,帶有GET參數的URL可以通過,因爲它們可能返回唯一的內容,但不帶參數的URL必須通過緩存獲取。緩存可能過載或損壞。

+0

我已更新問題,請閱讀修改。 –

0

您可能有一個代理需要爲每個域執行一次冗長的過程(內容檢查,DNS查找等)。

當您打開第二個選項卡時,該長度過程已經開始(對於第一個選項卡),所以它不會花費太長時間。

如果是這種情況,用查詢字符串打開第一個選項卡,而不打開第二個選項卡仍然會導致加載第二個選項卡的速度更快。

+0

我已經試過,但它不起作用。只有添加一個新的'GET'變量才能加速請求,請求另一個選項卡中完全相同的URL只會導致它作爲第一個選項卡等待,並且如果收到響應,則通常都會同時收到響應。 –

+0

如果在同一個域上有一個不同的URL,但沒有查詢字符串呢? – SLaks

+0

它獨立行事,即可能得到快速反應或面對同樣的問題,只是獨立。 –

-1

1 - 形成網絡開發人員的角度: 得到什麼正在這個時候更多的細節,我可以我最好的朋友(螢火蟲)

enter image description here

網絡選項卡,你可能會看到上面,我可以看到在頁面上的每一步花了多少時間。

2 - 儘管我認爲這個問題應該移到https://serverfault.com/得到答案形成網絡怪才

相關問題