所以只能記一下了
首先是1開頭的
現在來說1xx都是從 http 1.1 開始加入的。這個狀態碼可以用於乙個協議,「100-continue」,有時候post中的資料會很大,有時候服務端需要這些資料,有時候不需要,這時候可以使用**「100-continue」**,去驗證一下,成功會返回100,表示繼續將post請求體中的資料帶過來。長時間未響應則客戶端也預設繼續上傳,其他則直接返回錯誤。
表示伺服器將要切換/公升級協議,客戶端會請求更換協議,服務端如果返回101,則可以更換,洗一次請求用新的協議,在請求頭中可以加『connection: upgrade』,『upgrade:http / 2』去公升級成為http/2,也可以公升級成為websocket。
2xx開頭基本為成功最常見也最熟悉的,表示請求正常處理了。
表示新的資源建立完畢,以及伺服器錄入了新的資訊。
表正在處理或者運算中,會一直給狀態碼202,如果計算結束返回資料,則給200,客戶端可以通過輪詢拿到響應資料。
表示返回的資訊不一定正確,經常出現在**伺服器的快取上。
請求正確,但是沒啥好返回的。
更新重置,比如刪除了某個item,就伺服器返回204,前端就更新響應檢視。
3xx基本上也表示請求沒有問題,但會有一些告示請求成功,但是會有告示伺服器這個路徑有多種選擇,然後可以根據報文內容進行更加細分的選擇,並繼續請求。
面試官問的最多,永久重定向,表示資源已經轉移,之後最好去新的路徑拿檔案。
暫時重定向,暫時將資源轉移,不建議之後用返回的新的路徑去訪問資源。
和302差不多,也是暫時重定向,很多時候302的請求是用post的,很多時候post請求伺服器資源是經過一輪處理的,也就是下次再用post請求某個資源時就不是同樣的資源了,這樣的話301或者302給出的新資源的路徑其實是錯誤的,不規範的,不一定是下次請求想要的資源,所以303的跳轉會讓使用者進行確定使用get方式進行重定向,而不是直接用現在請求的方式重定向重定向。
面試官也問得最多,是關於協商快取的,表明我這個資源沒有更新,你可以直接用你本地儲存的快取。
表示必須通過某個中轉站(**伺服器)請求我們的伺服器才可以。
廢棄。和303差不多,但是必須用get的方式重定向。
4xx基本上是你客戶端請求有問題了可能少加了個引數就會返回這個。
沒有帶token等用於身份驗證的資訊就會出現這個。
暫時沒有
帶上token了,但是沒有許可權訪問。
最常見,沒有這個資源
有這個資源,但是你請求的方法錯了
請求資源的格式錯誤,比如我們要拿到json的資料,但伺服器只有xml的資料。
和401差不多,但物件是**伺服器
請求超時
資源衝突,伺服器拒絕相同但資源,但還是上傳了相同的資源,告示資源衝突。
一大段資源,你不選擇要哪部分,就會411。
某些條件沒有,比如我要某個資源,其實是有的,但是請求這個資源的某一版本,如果伺服器端沒有,就會返回這個。
太大了,進不去,伺服器有時候會限制上傳檔案的大小。
url太長了,超出了伺服器的範疇。
上傳型別不支援,比如檔案的格式傳錯了。
預期錯誤,比如我們想要expect: 100-continue,但是不行,就會返回這個
基本上是伺服器炸了伺服器因為錯誤炸了。
某些功能、請求型別不支援。
中間商(**伺服器)拿伺服器但資源出錯了。
服務暫時不可用,可能在部署什麼的。或者伺服器繁忙。
服務終端不理**伺服器。
協議不支援。
面試官問你HTTP狀態碼,你敢答嗎?
2021.04.19 更新,新增對 304 狀態碼的描述。http狀態碼的作用是告知客戶端,從伺服器端返回的請求結果。聽說面試會問http狀態碼,相比那些神仙操作,這個記憶性的知識點準備起來比較容易,不應該成為丟分項。本文參考了網上的資料列舉了常見的http狀態碼,如果接下來面試或者看面經有遇到的這...
面試官所問到的(一)
1.int與string相互轉換,以及資料型別轉換異常!2.hashmap與map區別,hashmap為什麼執行緒不安全?3.異常exception下面有什麼異常?4.許可權管理模組怎麼做?5.decode是什麼?6.怎麼存到資料庫裡面?7.為什麼要用struts2?1.int與string相互轉換...
面試官問到TCP IP怎麼回答才過關
眾所周知,關於tcp ip,互網網興起時,就已經跟網際網路人的生活息息相關,那麼作為一名前端開發者來說,對於tcp ip的知識,是否需要深度理解,作者可以毫無疑問的告訴你,有關tcp ip的知識,你真的需要知道並深入了解。對於一位前端開發者來說,更是有必要了解,現在各大名廠,面試必問,那接下來,我們...