HTTP 狀態(tài)碼

HTTP 請求的格式和 HTTP 響應消息的格式是相似的且都有如下所示結構:

一個初始狀態(tài)行 + CRLF(回車 + 換行 即新行)

零個或多個標題行 + CRLF

一個空白行芥映,即一個 CRLF

一個可選的消息主體,如文件、查詢數(shù)據(jù)或查詢輸出
例如,服務器的響應頭信息看起來如下所示:

HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
  (Blank Line)
<!doctype ...>
<html>
<head>...</head>
<body>
...
</body>
</html>

狀態(tài)行包括 HTTP 版本(例子中的 HTTP/1.1)蘑辑、一個狀態(tài)碼(例子中的 200)和一個對應于狀態(tài)碼的短消息(例子中的 OK)刊苍。

以下 HTTP 狀態(tài)碼以及可能從 Web 服務器返回的相關的消息的列表:
|
|100|Continue| 只有請求的一部分已經被服務器接收,但只要它沒有被拒絕,客戶端應繼續(xù)該請求蒋失。|
|101|Switching Protocols|服務器切換協(xié)議。|
|200|OK| 請求成功桐玻。|
|201|Created| 該請求是完整的篙挽,并創(chuàng)建一個新的資源。|
|202|Accepted |該請求被接受處理镊靴,但是該處理是不完整的铣卡。|
|203|Non-authoritative Information ||
|204|No Content ||
|205|Reset Content ||
|206|Partial Content| |
|300 |Multiple Choices|鏈接列表。用戶可以選擇一個鏈接偏竟,進入到該位置煮落。最多五個地址|
|301|Moved Permanently|所請求的頁面已經轉移到一個新的 URL。|
|302 |Found |所請求的頁面已經臨時轉移到一個新的 URL踊谋。|
|303| See Other| 所請求的頁面可以在另一個不同的 URL 下被找到蝉仇。|
|304|Not Modified ||
|305| Use Proxy ||
|306| Unused| 在以前的版本中使用該代碼。現(xiàn)在已不再使用它殖蚕,但代碼仍被保留量淌。|
|307 |Temporary Redirect| 所請求的頁面已經臨時轉移到一個新的 URL。|
|400| Bad Request| 服務器不理解請求嫌褪。|
|401|Unauthorized |所請求的頁面需要用戶名和密碼。|
|402|Payment Required| 你還不能使用該代碼胚股。|
|403|Forbidden|禁止訪問所請求的頁面笼痛。|
|404|Not Found|服務器無法找到所請求的頁面。|
|405|Method Not Allowed|在請求中指定的方法是不允許的琅拌。|
|406|Not Acceptable|服務器只生成一個不被客戶端接受的響應缨伊。|
|407|Proxy Authentication Required|在請求送達之前,您必須使用代理服務器的驗證进宝。|
|408|Request Timeout|請求需要的時間比服務器能夠等待的時間長刻坊,超時。|
|409|Conflict| 請求因為沖突無法完成党晋。|
|410 |Gone| 所請求的頁面不再可用谭胚。|
|411|Length Required|"Content-Length" 未定義。服務器無法處理客戶端發(fā)送的不帶 Content-Length 的請求信息未玻。|
|412|Precondition Failed |請求中給出的先決條件被服務器評估為 false灾而。|
|413|Request Entity Too Large|服務器不接受該請求,因為請求實體過大扳剿。|
|414|Request-url Too Long|服務器不接受該請求旁趟,因為 URL 太長。當你轉換一個 “post” 請求為一個帶有長的查詢信息的 “get” 請求時發(fā)生庇绽。|
|415|Unsupported Media Type|服務器不接受該請求锡搜,因為媒體類型不被支持橙困。|
|417|Expectation Failed 500|Internal Server Error 未完成的請求。服務器遇到了一個意外的情況耕餐。|
|501|Not Implemented|未完成的請求凡傅。服務器不支持所需的功能。|
|502|Bad Gateway|未完成的請求蛾方。服務器從上游服務器收到無效響應像捶。|
|503|Service Unavailable|未完成的請求。服務器暫時超載或死機桩砰。|
|504|Gateway Timeout|網關超時拓春。|
|505|HTTP Version Not Supported| 服務器不支持“HTTP協(xié)議”版本。|
設置 HTTP 狀態(tài)碼的方法:
下面是在 servlet 程序中可以用于設置 HTTP 狀態(tài)碼的方法亚隅。通過 HttpServletResponse 對象這些方法是可用的硼莽。

序號 方法 描述
1 public void setStatus ( int statusCode ) 該方法設置一個任意的狀態(tài)碼。setStatus 方法接受一個 int(狀態(tài)碼)作為參數(shù)煮纵。如果您的反應包含了一個特殊的狀態(tài)碼和文檔懂鸵,請確保在使用 PrintWriter 實際返回任何內容之前調用 setStatus。
2 public void sendRedirect(String url) 該方法生成一個 302 響應行疏,連同一個帶有新文檔 URL 的 Location 頭匆光。
3 public void sendError(int code, String message) 該方法發(fā)送一個狀態(tài)碼(通常為 404),連同一個在 HTML 文檔內部自動格式化并發(fā)送到客戶端的短消息酿联。

向客戶端輸出錯誤代碼如下:

package servletStudent;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class authon extends HttpServlet {

    
    /**
     * 
     */
//  private static final long serialVersionUID = 1L;

    public authon() {
        super();
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("====");
//      response.sendError(407, "sorry you cloud authion");
        response.sendError(407, "Need authentication!!!" );
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        doGet(request, response);

    }

}

運行結果如圖:

運行結果
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末终息,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子贞让,更是在濱河造成了極大的恐慌周崭,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喳张,死亡現(xiàn)場離奇詭異续镇,居然都是意外死亡,警方通過查閱死者的電腦和手機销部,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門摸航,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人舅桩,你說我怎么就攤上這事忙厌。” “怎么了江咳?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵逢净,是天一觀的道長。 經常有香客問我,道長爹土,這世上最難降的妖魔是什么甥雕? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任鄙漏,我火速辦了婚禮珍坊,結果婚禮上,老公的妹妹穿的比我還像新娘店读。我一直安慰自己琼娘,他們只是感情好峭弟,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著脱拼,像睡著了一般瞒瘸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上熄浓,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天情臭,我揣著相機與錄音,去河邊找鬼赌蔑。 笑死俯在,一個胖子當著我的面吹牛,可吹牛的內容都是我干的娃惯。 我是一名探鬼主播跷乐,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼趾浅!你這毒婦竟也來了愕提?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤潮孽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后筷黔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體往史,經...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年佛舱,在試婚紗的時候發(fā)現(xiàn)自己被綠了椎例。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡请祖,死狀恐怖订歪,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情肆捕,我是刑警寧澤刷晋,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響眼虱,放射性物質發(fā)生泄漏喻奥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一捏悬、第九天 我趴在偏房一處隱蔽的房頂上張望撞蚕。 院中可真熱鬧,春花似錦过牙、人聲如沸甥厦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刀疙。三九已至,卻和暖如春摧莽,著一層夾襖步出監(jiān)牢的瞬間庙洼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工镊辕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留油够,地道東北人。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓征懈,卻偏偏與公主長得像石咬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子卖哎,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內容

  • HTTP狀態(tài)碼(HTTP Status Code)表示http服務器對與請求HTTP響應狀態(tài)的3位數(shù)字代碼鬼悠。它由 ...
    BeeNoisy閱讀 1,787評論 0 8
  • HTTP狀態(tài)碼的分類 HTTP狀態(tài)碼由三個十進制數(shù)字組成,第一個十進制數(shù)字定義了狀態(tài)碼的類型亏娜,后兩個數(shù)字沒有分類的...
    薄涼_簡書閱讀 567評論 0 1
  • 摘自 wiki HTTP狀態(tài)碼 1xx消息 這一類型的狀態(tài)碼焕窝,代表請求已被接受,需要繼續(xù)處理维贺。這類響應是臨時響應它掂,...
    SincereDu閱讀 253評論 0 1
  • 轉載自:HTTP狀態(tài)碼——AndroidObject HTTP狀態(tài)碼(HTTP Status Code)是用以表網...
    TTTqiu閱讀 217評論 0 0
  • 1xx消息 這一類型的狀態(tài)碼,代表請求已被接受溯泣,需要繼續(xù)處理虐秋。這類響應是臨時響應,只包含狀態(tài)行和某些可選的響應頭信...
    輪回小飛飛閱讀 236評論 0 0