前段時間寫代碼,header輸出兩個location的頭。
我理所當然的以爲第一個location之後,就已經跳轉到另一個頁面了。唉,無知真可怕啊!後來的結果是以第二個location爲準!
程序輸出了兩個location,但是到客戶端只有一個,中間有可能是php處理了多餘的頭,也有可能是服務器程序(apache、nginx)處理的。但是假如,假如服務器確確實實的給了他兩個location,瀏覽器會怎麼處理了。寫了段測試代碼,輸出兩個location的頭,以及重複輸出Cache-Control, Expires。瀏覽器產生的行爲結果如下:
重複兩條location頭,ie,firefox,chromium 均無法工作,ubuntu下chromium提示收到重複location頭,其它瀏覽器無提示
重複兩條Cache-Control頭,firefox, chromium 將兩條頭鏈接在一起:
Cache-Control: max-age=2592000, max-age=3592000,瀏覽器正常工作
重複兩條Expires頭,與cache-control一樣