摘要:狀態(tài)碼有哪些一般大家都知道頁面不存在,服務(wù)器錯誤,重定向,臨時重定向,,未授權(quán)啥的??偨Y(jié)僅僅三個狀態(tài)碼,都可以牽涉到如此豐富的知識,對于狀態(tài)碼,我們不能只是片面的去背誦狀態(tài)碼及對應(yīng)的含義,要去主動挖掘,深入,借助狀態(tài)碼來建立自己的網(wǎng)絡(luò)體系。
之前寫的一些筆記,簡單記錄在這里。
http狀態(tài)碼有哪些?一般大家都知道404頁面不存在,500服務(wù)器錯誤,301重定向,302臨時重定向,200ok,401未授權(quán)啥的。
如果只是簡單的這樣答,可能只能讓面試官給你的答案打個五六十分,不足以給面試官留下良好的印象,為了展現(xiàn)自己良好的http知識,你或許可以重點(diǎn)介紹三個狀態(tài)碼及相關(guān)的知識,他們分別是304協(xié)商緩存,101協(xié)議升級,以及307hsts跳轉(zhuǎn)。
304協(xié)商緩存先從304協(xié)商緩存開始吧。這是比較基礎(chǔ)的知識。
強(qiáng)制緩存分為expires和cache-control,而expires是一個特定的時間,是比較舊的標(biāo)準(zhǔn)和cache-control通常是一個具體的時間長度,比較新,優(yōu)先級也比較高。
而協(xié)商緩存包括etag和last-modified,last-modified的設(shè)置標(biāo)準(zhǔn)是資源的上次修改時間,而etag是為了應(yīng)對資源修改時間可能很頻繁的情況出現(xiàn)的,是基于資源的內(nèi)容計算出來的值,因此優(yōu)先級也較高。
協(xié)商緩存與強(qiáng)制緩存的區(qū)別在于強(qiáng)制緩存不需要訪問服務(wù)器,返回結(jié)果是200,協(xié)商緩存需要訪問服務(wù)器,如果命中緩存的話,返回結(jié)果是304。
101協(xié)議升級主要用于websocket,也可以用于http2的升級。
websocket的特點(diǎn)和功效不細(xì)說,大家都很熟了。
http2好處多多,一般說出支持單個連接多次請求,二進(jìn)制,壓縮頭部,服務(wù)器推送等特征面試官就比較滿足了。具體了解也是自行谷歌百度,這里也是不細(xì)說。
當(dāng)然這時候我們可能要應(yīng)對一下面試官接下來的追問:到底https,http,http2以及它的原形spdy有什么區(qū)別,又分別有什么優(yōu)點(diǎn)和不足,他們的建立連接分別又有著什么環(huán)節(jié),這些知識就需要讀者自己去充分搜索查詢了。
307 hsts跳轉(zhuǎn)這個比較高端,原本的用法是用于讓post請求的跳轉(zhuǎn)去新的post請求,但也用于hsts跳轉(zhuǎn)。
hsts全稱HTTP嚴(yán)格傳輸安全(HTTP Strict Transport Security,縮寫:HSTS),功能是要求瀏覽器下次訪問該站點(diǎn)時使用https來訪問,而不再需要先是http再轉(zhuǎn)https。這樣可以避免ssl剝離攻擊,即攻擊者在用戶使用http訪問的過程中進(jìn)行攻擊,對服務(wù)器冒充自己是用戶,在攻擊者和服務(wù)器中使用https訪問,在用戶和服務(wù)器中使用http訪問。
具體使用方法是在服務(wù)器響應(yīng)頭中添加 Strict-Transport-Security,可以設(shè)置 max-age
當(dāng)然,提到了ssl剝離攻擊,你一定很感興趣還有什么方法可以對號稱安全的https進(jìn)行攻擊呢?我這里了解到的有ssl劫持攻擊,大概就是信任第三方的安全證書,這點(diǎn)被利用于代理軟件監(jiān)聽https。如果還有更多的,歡迎補(bǔ)充。
總結(jié)僅僅三個狀態(tài)碼,都可以牽涉到如此豐富的知識,對于狀態(tài)碼,我們不能只是片面的去背誦狀態(tài)碼及對應(yīng)的含義,要去主動挖掘,深入,借助http狀態(tài)碼來建立自己的網(wǎng)絡(luò)體系。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/95899.html
摘要:若用戶發(fā)起了一個條件請求,而資源近期未被修改,可以通過該狀態(tài)碼表明。將來的請求應(yīng)該使用老的和狀態(tài)碼之間存在一些交叉。服務(wù)器擔(dān)心請求會引發(fā)沖突時,可以發(fā)送此狀態(tài)碼。 狀態(tài)碼 狀態(tài)碼是來告訴客戶端,發(fā)生了什么事情。狀態(tài)碼為客戶端提供了一種理解事務(wù)處理結(jié)果的便捷方式。狀態(tài)碼位于響應(yīng)的起始行中 比如,在行 HTTP/1.0 200 OK 中,狀態(tài)碼就是200 客戶端向一個 HTTP 服務(wù)器發(fā)送...
摘要:如果客戶端錯誤的讓代理介入某個請求,可能引發(fā)破壞性的行為,照成安全漏銅問題未使用未使用與狀態(tài)碼類似但客戶端應(yīng)該使用首部給出的來臨時定位資源。 http showImg(https://segmentfault.com/img/bV7kr7?w=645&h=306); 介紹:http基于tcp/ip通信來傳遞數(shù)據(jù) 注意事項 http是無連接:每次連接只處理一個請求,服務(wù)器處理完請求后,...
摘要:一臨時響應(yīng)臨時響應(yīng)表示臨時響應(yīng)并需要請求者繼續(xù)執(zhí)行操作的狀態(tài)碼。由擴(kuò)展的狀態(tài)碼,代表處理將被繼續(xù)執(zhí)行。二成功成功表示成功處理了請求的狀態(tài)碼。如果您的網(wǎng)站上沒有文件,而您在網(wǎng)站管理員工具診斷標(biāo)簽的頁上看到此狀態(tài)碼,則這是正確的狀態(tài)碼。 什么是HTTP: HTTP(HyperText Transfer Protocol超文本傳輸協(xié)議)是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。所有的WWW文...
摘要:臨時性重定向該狀態(tài)碼表示請求的資源已被分配了新的,希望用戶本次請求能使用新的。該狀態(tài)碼表示發(fā)送的請求需要有通過認(rèn)證認(rèn)證認(rèn)證的認(rèn)證信息。該狀態(tài)碼表明服務(wù)器端在執(zhí)行請求時發(fā)生了錯誤。 前言 最近在看nodejs,發(fā)現(xiàn)需要很多http相關(guān)的知識,就去找了本「圖解HTTP」看,記錄下自己覺得比較重要的知識點(diǎn) URI格式 http:// user:passwd @www.cheesekun....
閱讀 850·2023-04-25 16:55
閱讀 2912·2021-10-11 10:59
閱讀 2154·2021-09-09 11:38
閱讀 1884·2021-09-03 10:40
閱讀 1544·2019-08-30 15:52
閱讀 1214·2019-08-30 15:52
閱讀 1037·2019-08-29 15:33
閱讀 3554·2019-08-29 11:26