響應狀態碼
100 客戶端應當繼續發送請求。這個臨時響應是用來通知客戶端它的部分請求已經被服務器接收,且仍未被拒絕。客戶端應當繼續發送請求的剩余部分,或者如果請求已經完成,忽略這個響應。服務器必須在請 求完成後向客戶端發送一個最終響應。
Server看到之後呢如果回100 這個狀態代碼,客戶端就繼續發request body。這個是HTTP1.1才有的。
200:請求成功,瀏覽器會把響應體內容(通常是html)顯示在瀏覽器中;
404:請求的資源沒有找到,說明客戶端錯誤的請求了不存在的資源;
500:請求資源找到了,但服務器內部出現了錯誤;
301 被請求的資源已永久移動到新位置,並且將來任何對此資源的引用都應該使用本響應返回的若幹個 URI 之一。如果可能,擁有鏈接編輯功能的客戶端應當自動把請求的地址修改為從服務器反饋回來的地址。除非額外指定,否則這個響應也是可緩存的。 新的永久性的 URI 應當在響應的 Location 域中返回。除非這是一個 HEAD 請求,否則響應的實體中應當包含指向新的 URI 的超鏈接及簡短說明。 如果這不是一個 GET 或者 HEAD 請求,因此瀏覽器禁止自動進行重定向,除非得到用戶的確認,因為請求的條件可能因此發生變化。 註意:對於某些使用 HTTP/1.0 協議的瀏覽器,當它們發送的 POST 請求得到了一個301響應的話,接下來的重定向請求將會變成 GET 方式。
302:重定向,當響應碼為302時,表示服務器要求瀏覽器重新再發一個請求,服務器會發送一個響應頭Location,它指定了新請求的URL地址;
304:當用戶第一次請求index.html時,服務器會添加一個名為Last-Modified響應頭,這個頭說明了index.html的最後修改時間,瀏覽器會把index.html內容,以及最後響應時間緩存下來。當用戶第二次請求index.html時,在請求中包含一個名為If-Modified-Since請求頭,它的值就是第一次請求時服務器通過Last-Modified響應頭發送給瀏覽器的值,即index.html最後的修改時間,If-Modified-Since請求頭就是在告訴服務器,我這裏瀏覽器緩存的index.html最後修改時間是這個,您看看現在的index.html最後修改時間是不是這個,如果還是,那麽您就不用再響應這個index.html內容了,我會把緩存的內容直接顯示出來。而服務器端會獲取If-Modified-Since值,與index.html的當前最後修改時間比對,如果相同,服務器會發響應碼304,表示index.html與瀏覽器上次緩存的相同,無需再次發送(節省傳輸成本),瀏覽器可以顯示自己的緩存頁面,如果比對不同,那麽說明index.html已經做了修改,服務器會響應200。(瀏覽器緩存)
響應頭:
Last-Modified:最後的修改時間;
請求頭:
If-Modified-Since:把上次請求的index.html的最後修改時間還給服務器;
狀態碼:304,比較If-Modified-Since的時間與文件真實的時間一樣時,服務器會響應304,而且不會有響正文,表示瀏覽器緩存的就是最新版本!如果不一樣,那麽服務器響應200
響應狀態碼