兩次訪問同一靜態URL得到的檔案長度不一樣

2021-07-09 14:42:04 字數 1785 閱讀 3744

在使用chrome瀏覽器請求乙個**伺服器上的url時,例如

第二個請求

仔細觀察請求頭部和應答頭部,兩次請求的user-agent都一樣,應答的last-modified都一樣,區別只在於後乙個請求使用了range方法,如下:

第一次請求

直接請求

應答content-length=9882602

第二次請求

range: bytes=0-

應答content-length=9882560,比第一次少了42個位元組。

經過查詢

1,對於h264格式的**檔案,lighttpd伺服器上根據請求方法是否攜帶range,選擇mod_staticfile或h264 module兩個模組應答。

如果不帶range,即第一次請求,lighttpd伺服器通過h264 module提供h264 streaming服務,其應答頭部的「x-mod-h264-streaming」就說明了這一點,該模組會修改**檔案的頭部,比如moov atom,導致檔案尺寸發生變化。

如果請求方法帶range,即第二次請求,lighttpd伺服器認為這是對靜態檔案的部分請求,由mod_staticfile module提供返回資料,客戶端得到的是伺服器上的原始檔案。

一次URL請求後台響應兩次

做專案時遇到乙個問題。現象是這樣的,我在頁面點按f5重新整理頁面,但是後台 卻響應了兩次,百思不得其解。然後我就試探性的去更改html的標籤裡面的東西,可是問題依舊。我一直在思索這個問題,到底是瀏覽器請求了一次後 的執行了兩次,還是產生了兩次請求?為了得到這個答案,我搜尋到httpwatch這個工具...

同乙個 bug 不要修復兩次

noah sussman 曾經寫過一篇文章 你應該測試的東西 軟體系統測試清單 這份清單裡面大部分東西都是有幫助的。然而我覺得它所鼓勵的理念,本質上來說有誤。它的理念基本上是這樣 找出開發者常犯的錯誤,然後確保你寫了測試樣例來檢查你沒有犯了這樣的錯誤。然而這個做法的問題是它本質上是一種 打地鼠 式的...

對同一類進行兩次析構的問題

對於同乙個類進行兩次析構一般情況不會出現問題,但是當在析構函式中呼叫了delete對於類中的成員變數進行銷毀則會出現問題,如果進行兩次析構函式,則會對同乙個變數進行兩次銷毀,則第二次銷毀就會出現問題,會出現 block type is valid phead nblockuse的問題。出現這個問題的...