firefox處理cookie的問題
之前在研究HTTP時,瞭解到各家瀏覽器在實作HTTP時其實並不相同。最近的一個奇怪案例,最後找出的原因…居然是因為瀏覽器對於cookie處理不同~ 為了解釋,假設一下案例 現在時間是 2012/6/1 11:00 主機時間是 2012/6/1 03:00(主機的時間慢了八小時) cookie expire time為六小時 當server端的程式產生一個cookie,cookie expire time為六小時。於是,程式取得主機時間2012/6/1 03:00,加上expire time 六小時候,這個cookie將在2012/6/1 09:00 逾期。 此時,client端的時間是2012/6/1 11:00。因此,當瀏覽器收到這個cookie時,對瀏覽器而言,理論上已經超過了逾期時間(2012/6/1 09:00)三小時。不幸的是…各家瀏覽器的結果不同… 測試了Firefox、IE、Chrome、safari這四家瀏覽器後。只有Firefox的行為不同,居然會繼續使用這個已經逾期的cookie。 為了測試的方便,我將cookie expire time 設定為一分鐘。下圖,則是以VM作測試的結果…