![]()
Safari的Cookie安全策略像個死板的門衛(wèi)——HTTPS才給放行,localhost也不行。Chrome和Firefox早把本地地址算"自己人"了,WebKit團隊卻盯著2016年的bug工單裝沒看見,狀態(tài)欄至今掛著"NEW"。
開發(fā)者的痛苦很具體:你用Playwright跑端到端測試,HttpOnly+Secure的登錄Cookie在Chromium和Firefox里順順當(dāng)當(dāng),切到WebKit直接啞火。CI/CD流水線因此掛掉,排查半天發(fā)現(xiàn)是Safari不認(rèn)localhost的安全上下文。配置HTTPS證書?能行,但本地開發(fā)和自動化測試場景下,這相當(dāng)于為了過門禁給自家客廳裝安檢門。
變通方案倒是存在。Playwright的projects配置允許給不同瀏覽器開獨立賬戶,繞過單點登錄的Cookie依賴;或者干脆在測試套件里動態(tài)降格——WebKit運行時臨時拿掉Secure標(biāo)記。一位工程師在GitHub討論區(qū)吐槽:「我們?yōu)榱思嫒軸afari,專門給測試環(huán)境寫了套降級邏輯,生產(chǎn)代碼反而更干凈。」
諷刺的是,W3C的Secure Contexts規(guī)范2016年就明確localhost該算安全源,WebKit的實現(xiàn)缺口卻被歸類為"功能請求"而非bug。截至2024年,這個缺口已經(jīng)讓無數(shù)測試工程師在Stack Overflow上復(fù)制粘貼同一套workaround——而Safari的市場份額,剛好夠蘋果繼續(xù)"已讀不回"。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.