http指定狀態碼

2022-09-14 11:39:06 字數 2450 閱讀 9137

http狀態**

1、指定狀態碼:

setstatus

httpservletresponse的setstatus方法。如果響應的狀態**比較特殊,並且伴有相關的文件內容,那麼一定要在用printwriter實際返回任何內容之前呼叫setstatus,因為沒有明確規範規定servlet一定要乙個空行、因此,必須在使用printwriter之前設定狀態**,或者在設定狀態**時,仔細核實緩衝區尚未被清楚,內容尚未實際發往瀏覽器。

setstatus最好不要直接設定明確的數字,而使用httpservletresponse中定義的常量。

sendredirect和senderror

httpservletresponse專為兩種常見的情況提供了快捷方法。兩個方法都丟擲ioexception。

public void sendredirect(string url)

狀態碼302命令連線到新的位置。sendredirect生成302響應以及location報頭

public void sendeoor(int code, string message)

狀態碼404用於伺服器沒有找到文件的情況。senderror方法傳送狀態**以及一段簡短的訊息,這段訊息被自動安排到html中傳送給客戶。

2、狀態碼

100-199:10~199間的**都是資訊性的,標示客戶應該採取的其他動作

200-299:200~299間的值表示成功

300-399: 300~399間的值用於那些已經移走的檔案,常常包括location報頭,指出新的位址

400-499: 400~499間的值標示由客戶引發的錯誤

500-599:500~599表示由伺服器引發的錯誤

常見碼:

100:continue繼續

200:ok,一切正常

202:accepted,已接受

204:no content,沒有新文件

205:reset content,重置內容

301:moved permanently,被永久移動

302:found,找到

有乙個專門的方法,sendredirect,用response.setstatus(),以及response.setheader("location",url)相比,使用response.sendredirect(url)有許多優點。首先,他更簡短,使用也更容易。其次,使用sendredirect(url)時,servlet自動構建含有鏈結的頁面,引導那些不能自動跟重定向資訊的老版本瀏覽器。最後sendredirect還可以處理相對url,自動將它們轉換成對應的絕對url。

技術上一般認為僅當最初的請求為get時,瀏覽器才應自動執行重定向。

303:see other,檢查其他文件

304:not modified,未發生更改

307:temporary redirect,臨時重定向

400:bad request,錯誤請求

401:unauthorized,未授權

403:forbidden,資源不可用

404:not found,未找到

405:method not allowed,方法不允許

415:unsupported media type不支援的**型別

417:expectation failed,期望不能滿足

500:internal server error,伺服器內部錯誤

501:not implemented,未實現

503:service un**ailable,服務不可用

505:http version not supported,不支援的http版本

3、將使用者重定向到瀏覽器相關頁面的servlet

http響應報頭的生成:

最通用的方法是httpservletresponse.setheader方法

setheader(string headername, string headervalue)

除了通用的setheader方法之外,httpservletresponse還有兩個專門的方法,用來設定含有日期和整數的報頭:

setdateheader(string header, long milliseconds)

setintheader(string header, int headervalue)

http允許相同的報頭多次出現,有時候我們希望加入新的報頭,而非替換已有的同名報頭。可以使用containsheader進行檢查。

httpservletresponse還提供許多方便的方法來指定常用的報頭:

setcontenttype

setcontentlength

addcookie

sendredirect

理解http響應報頭:

allow:指定伺服器支援的請求方法

cache-control:這個報頭告訴瀏覽器或其他客戶,什麼環境可以安全地快取文件

public 文件可以快取

302狀態碼 小結HTTP狀態碼

作為乙個web開發工程師,我們平時都會和諸如200,304,404,501等狀態碼打交道,那麼它們是什麼意思呢?今天,我們來聊聊 http狀態碼是服務端返回給客戶端 因為這裡是web開發,這裡的客戶端指瀏覽器客戶端 的3位數字 這些狀態碼相當於瀏覽器和伺服器之間的對話資訊。它們相互溝通兩者之間的事情...

狀態碼202 HTTP狀態碼

當瀏覽者訪問乙個網頁時,瀏覽者的瀏覽器會向網頁所在伺服器發出請求。當瀏覽器接收並顯示網頁前,此網頁所在的伺服器會返回乙個包含http狀態碼的資訊頭 server header 用以響應瀏覽器的請求。http狀態碼的英文為http status code。下面是常見的http狀態碼 狀態碼詳細介紹說明...

http狀態碼含義

如果某項請求傳送到您的伺服器要求顯示您 上的某個網頁 例如,使用者通過瀏覽器訪問您的網頁或 googlebot 抓取網頁時 伺服器將會返回 http 狀態碼響應請求。此狀態 提供關於請求狀態的資訊,告訴 googlebot 關於您的 和請求的網頁的資訊。一些常見的狀態 為 1xx 臨時響應 表示臨時...