6
A
回答
7
這可能是爲了確保頁面/圖像/不取自用戶的緩存。如果鏈接每次都不相同,那麼瀏覽器將從服務器而不是緩存中獲取它,以確保它是最新版本。
它也可以跟蹤人們通過網站的進度。最好用一個小故事解釋:
- 用戶訪問example.com。所有的鏈接都有相同的隨機數(比如4)。
- 用戶在新窗口/選項卡中打開鏈接,鏈接爲page2.php?rnd = 4。此頁面中的所有鏈接都給出了隨機數7.
- 用戶可以從原始選項卡或新建的頁面中點擊到page3.php的鏈接,服務器上的分析軟件可以通過它是否具有rnd = 4或rnd = 7。
雖然我們所能做的只是建議可能性。沒有一個標準的理由將rnd =放入一個URL中,並且我們無法在沒有看到服務器軟件的情況下知道網站設計者的動機。
4
它幾乎總是用於緩存清除。
6
Internet Explorer和其他瀏覽器將讀取圖像URL,下載圖像並將其存儲在緩存中。
如果您的應用程序正在更新圖像,並且因此您希望用戶看不到緩存的圖像,則URL必須每次都是唯一的。
因此,添加一個隨機字符串可以確保這是唯一的,並且每次都會下載到緩存中。
2
正如其他人所建議的那樣。這種行爲通常用於在您調用返回動態內容數據的頁面時避免緩存問題。
例如,假設您有一個獲取當前用戶信息的頁面,例如「mysite.com/CurrentUserData」。現在,在第一次調用此頁時,用戶數據將按預期返回,但根據時間和緩存設置,第二次調用可能會返回相同的數據 - 即使預期的數據可能已更新。
緩存的主要原因當然是優化頻繁請求的速度。但是在不需要這種情況的情況下,將隨機值作爲查詢字符串參數添加已知是廣泛使用的解決方案。
但是還有其他方法可以解決此問題。例如,如果您使用javascript/JQuery執行Ajax請求。您可以在您的通話中將緩存設置爲false ...
$.ajax({url: 'page.html', cache: false});
您還可以更改文檔加載時的所有頁面調用...
$.ajaxSetup({cache: false}});
如果你是做一個MVC應用程序,你甚至可以禁用,象這樣的屬性控制操作方法緩存...
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public ActionResult NonCacheableData()
{
return View();
}
(得益於快速複製和粘貼從here)
我敢說,也有IIS中的設置,你可以申請獲得相同的影響 - 雖然我還沒有那麼遠,
相關問題
- 1. HTTP「Accept」請求頭中「q」值的用途是什麼?
- 2. HTTP多部分(POST)請求中的邊界參數是什麼?
- 3. FileUpload - HTTP請求的類型是什麼
- 4. cURL - HTTP請求的內容是什麼?
- 5. 什麼是頁面源的http請求?
- 6. 什麼是C++中的RND /種子?
- 7. MSG結構的用途是什麼?參數代表什麼?
- 8. SAML 2.0身份驗證請求的用途和用途是什麼?
- 9. HTTP請求可能中途失敗嗎?
- 10. HTTP請求優化:什麼是限制?
- 11. 什麼是「IIS模擬HTTP請求」?
- 12. 什麼是對HTTP範圍請求
- 13. 什麼是HTTP請求和web服務
- 14. 函數中覆蓋的JavaScript參數的用途是什麼?
- 15. JavaScript函數中名爲「undefined」的參數的用途是什麼?
- 16. url()函數中kwargs參數的用途是什麼?
- 17. setYLabelsColor()等函數中scale參數的用途是什麼?
- 18. HKHealthStore.isHealthDataAvailable的用途是什麼?
- 19. Angular2 - HTTP POST請求參數
- 20. 什麼用GET參數圖片請求
- 21. Task.FromCanceled中的cancellationToken參數的用途是什麼?
- 22. Ninject BindFIlter <>中的FilterScope參數的用途是什麼?
- 23. OAuth授權請求中'狀態'參數的用途
- 24. javax.security.auth.callback。*的用途是什麼?
- 25. 方法參數中有final關鍵字的用途是什麼?
- 26. JavaScript concat()方法中第一個參數的用途是什麼?
- 27. Bootloader中BIOS參數塊的用途是什麼?
- 28. getline中第二個參數的用途是什麼?
- 29. dmvnorm中x參數的用途是什麼?
- 30. OAuth 2認證中grant_type參數的用途是什麼
沒有觀察到,但這可能有助於擺脫緩存。 – Dev