




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、http狀態碼一覽表.txt舉得起放得下叫舉重,舉得起放不下叫負重。頭要有勇氣, 抬頭要有底氣。學習要加,驕傲要減,機會要乘,懶惰要除。人生三難題:思,相思,單相思。http狀態碼一覽表http狀態碼一覽表1* :請求收到,繼續處理2* :操作成功收到,分析、接受3* :完成此請求必須進一步處理4* :請求包含一個錯誤語法或不能完成5* :服務器執行一個完全有效請求失敗100客戶必須繼續發出請求101客戶要求服務器根據請求轉換http協議版本200交易成功201提示知道新文件的url 202接受和處理、但處理未完成203返回信息不確定或不完整204請求收到,但返回信息為空205服務器完成了請求
2、,用戶代理必須復位當前已經瀏覽過的文件206服務器已經完成了部分用戶的get請求300請求的資源可在多處得到301刪除請求數據302在其他地址發現了請求數據303建議客戶訪問其他url或訪問方式304客戶端已經執行了get ,但文件未變化305請求的資源必須從服務器指定的地址得到306前一版本http中使用的代碼,現行版本中不再使用307申明請求的資源臨時性刪除400錯誤請求,如語法錯誤401請求授權失敗402保留有效chargeto 頭響應403請求不允許404沒有發現文件、查詢或url 405用戶在request-line字段定義的方法不允許406根據用戶發送的accept 拖,請求資源不
3、可訪問407類似401,用戶必須首先在代理服務器上得到授權408客戶端沒有在用戶指定的餓時間內完成請求409對當前資源狀態,請求不能完成410服務器上不再有此資源且無進一步的參考地址411服務器拒絕用戶定義的content-length屬性請求412一個或多個請求頭字段在當前請求中錯誤413請求的資源大于服務器允許的大小414請求的資源url長于服務器允許的長度415請求資源不支持請求項目格式416請求中包含range請求頭字段,在當前請求資源范圍內沒有range 指示值,請求也不包含if-range請求頭字段417服務器不滿足請求expect 頭字段指定的期望值,如果是代理服務器,可能是下一
4、級服務器不能滿足請求500服務器產生內部錯誤501服務器不支持請求的函數502服務器暫時不可用,有時是為了防止發生系統過載503服務器過載或暫停維修504關口過載,服務器使用另一個關口或服務來響應用戶,等待時間設定值較長505服務器不支持或拒絕支請求頭中指定的http版本= 英文版:100:continue 101:switching protocols 102:processing 200:ok 201:created 202:accepted 203:non-authoriative information 204:no content 205:reset content 206:part
5、ial content 207:multi-status 300:multiple choices 301:moved permanently 302:found 303:see other 304:not modified 305:use proxy 306:(unused) 307:temporary redirect 400:bad request 401:unauthorized 402:payment granted 403:forbidden 404:file not found 405:method not allowed 406:not acceptable 407:proxy
6、 authentication required 408:request time-out 409:conflict 410:gone 411:length required 412:precondition failed 413:request entity too large 414:request-uri too large 415:unsupported media type 416:requested range not satisfiable 417:expectation failed 422:unprocessable entity 423:locked 424:failed
7、dependency 500:internal server error 501:not implemented 502:bad gateway 503:service unavailable 504:gateway timeout 505:http version not supported 507:insufficient storage 完整的 http 1.1 規范說明書來自于rfc 2616,你可以在/在線查閱。 http 1.1 的狀態碼被標記為新特性,因為許多瀏覽器只支持 http 1.0 。你應只把狀態 碼 發 送 給 支 持ht
8、tp 1.1的 客 戶 端 , 支 持 協 議 版 本 可 以 通 過 調 用request.getrequestprotocol來檢查。本部分余下的內容會詳細地介紹 http 1.1中的狀態碼。這些狀態碼被分為五大類:100-199 用于指定客戶端應相應的某些動作。200-299 用于表示請求成功。300-399 用于已經移動的文件并且常被包含在定位頭信息中指定新的地址信息。400-499 用于指出客戶端的錯誤。500-599 用于支持服務器錯誤。httpservletresponse中的常量代表關聯不同標準消息的狀態碼。在servlet程序中,你會更 多 地 用 到 這 些 常 量 的 標
9、 識 來 使 用 狀 態 碼 。 例 如 : 你 一 般 會 使 用response.setstatus(response.sc_no_content)而不是 response.setstatus(204),因為后者不易理解而且容易導致錯誤。但是,你應當注意到服務器允許對消息輕微的改變,而客戶端只注意狀態碼的數字值。所以服務器可能只返回 http/1.1 200 而不是 http/1.1 200 ok 。100 (continue/繼續 ) 如果服務器收到頭信息中帶有100-continue的請求,這是指客戶端詢問是否可以在后續的請求中發送附件。在這種情況下,服務器用100(sc_contin
10、ue) 允許 客戶端繼續或用417 (expectation failed)告訴客戶端不同意接受附件。這個狀態碼是 http 1.1中新加入的。101 (switching protocols/轉換協議 ) 101 (sc_switching_protocols)狀態碼是指服務器將按照其上的頭信息變為一個不同的協議。這是 http 1.1中新加入的。200 (ok/ 正常 ) 200 (sc_ok)的意思是一切正常。一般用于相應get和 post 請求。這個狀態碼對servlet是缺省的;如果沒有調用setstatus方法的話,就會得到200。201 (created/已創建 ) 201 (s
11、c_created) 表示服務器在請求的響應中建立了新文檔;應在定位頭信息中給出它的url 。202 (accepted/接受 ) 202 (sc_accepted) 告訴客戶端請求正在被執行,但還沒有處理完。203 (non-authoritative information/非官方信息 ) 狀態碼 203 (sc_non_authoritative_information)是表示文檔被正常的返回,但是由于正在使用的是文檔副本所以某些響應頭信息可能不正確。這是 http 1.1 中新加入的。204 (no content/無內容 ) 在并沒有新文檔的情況下,204 (sc_no_conten
12、t)確保瀏覽器繼續顯示先前的文檔。這各狀態碼對于用戶周期性的重載某一頁非常有用,并且你可以確定先前的頁面是否已經更新。例如,某個 servlet可能作如下操作:int pageversion =integer.parseint(request.getparameter(pageversion); if (pageversion ;= currentversion) response.setstatus(response.sc_no_content); else / create regular page 但是,這種方法對通過刷新響應頭信息或等價的html標記自動重載的頁面起作用,因為它會返回一
13、個204 狀態碼停止以后的重載。但基于 javascript腳本的自動重載在這種情況下仍然需要能夠起作用。可以閱讀本書7.2 ( http 1.1 response headers and their meaning/http 1.1 響應頭信息以及他們的意義) 部分的詳細討論。205 (reset content/重置內容 ) 重置內容205 (sc_reset_content)的意思是雖然沒有新文檔但瀏覽器要重置文檔顯示。這個狀態碼用于強迫瀏覽器清除表單域。這是 http 1.1中新加入的。206 (partial content/局部內容 ) 206 (sc_partial_conten
14、t)是在服務器完成了一個包含range頭信息的局部請求時被發送的。這是 http 1.1中新加入的。300 (multiple choices/多重選擇 ) 300 (sc_multiple_choices) 表示被請求的文檔可以在多個地方找到,并將在返回的文檔中列出來。如果服務器有首選設置,首選項將會被列于定位響應頭信息中。301 (moved permanently) 301 (sc_moved_permanently)狀態是指所請求的文檔在別的地方;文檔新的url會在定位響應頭信息中給出。瀏覽器會自動連接到新的url 。302 (found/找到 ) 與 301 有些類似,只是定位頭信息
15、中所給的url應被理解為臨時交換地址而不是永久的。注意 : 在http 1.0中 , 消 息 是 臨 時 移動 (moved temporarily)的 而 不 是 被 找到 , 因 此httpservletresponse中的常量是sc_moved_temporarily不是我們以為的sc_found。注意代表狀態碼302 的常量是sc_moved_temporarily而不是 sc_found。狀態碼302 是非常有用的因為瀏覽器自動連接在定為響應頭信息中給出的新url 。這非常有用,而且為此有一個專門的方法sendredirect。使用 response.sendredirect(url
16、)比調用response.setstatus(response.sc_moved_temporarily)和response.setheader(location, url)多幾個好處。首先,response.sendredirect(url)方法明顯要簡單和容易。第二,servlet自動建立一頁保存這一連接以提供給那些不能自動轉向的瀏覽器顯示。最后,在servlet 2.2 版本( j2ee 中的版本)中, sendredirect能夠處理相對路徑,自動轉換為絕對路徑。但是你只能在2.1 版本中使用絕對路徑。如果你將用戶轉向到站點的另一頁中,你要用 httpservletresponse 中
17、的 encodeurl 方法傳送 url 。 這么做可預防不斷使用基于url重寫的會話跟蹤的情況。url重寫是一種在你的網站跟蹤不使用 cookies 的用戶的方法。 這是通過在每一個url尾部附加路徑信息實現的,但是 servlet 會話跟蹤api 會自動的注意這些細節。會話跟蹤在第九章討論,并且養成使用encodeurl 的習慣會使以后添加會話跟蹤的功能更容易很多。核心技巧如果你將用戶轉向到你的站點的其他頁面,用response.sendredirect(response.encodeurl(url) 的方式事先計劃好會話跟蹤(session tracking)要比只是調用 respons
18、e.sendredirect(url) 好的多。這個狀態碼有時可以與301 交換使用。例如,如果你錯誤的訪問了http:/host/user(路徑信息不完整) ,有些服務器就會回復301 狀態碼而有些則回復302。從技術上說,如果最初的請求是get瀏覽器只是被假定自動轉向。如果想了解更多細節,請看狀態碼307 的討論。303 (see other/參見其他信息 ) 這個狀態碼和 301 、302 相似, 只是如果最初的請求是 post,那么新文檔 (在定位頭信息中給出)藥用 get 找回。這個狀態碼是新加入 http 1.1中的。304 (not modified/為修正 ) 當客戶端有一個緩
19、存的文檔,通過提供一個 if-modified-since 頭信息可指出客戶端只希望文檔在指定日期之后有所修改時才會重載此文檔,用這種方式可以進行有條件的請求。304 (sc_not_modified) 是指緩沖的版本已經被更新并且客戶端應刷新文檔。另外,服務器將返回請求的文檔及狀態碼 200 。 servlet一般情況下不會直接設置這個狀態碼。它們會實現getlastmodified方法并根據修正日期讓默認服務方法處理有條件的請求。這個方法的例程已在 2.8 部分 (an example using servlet initialization and page modification d
20、ates/一個使用servlet初始化和頁面修正日期的例子) 給出。305 (use proxy/使用代理 ) 305 (sc_use_proxy) 表示所請求的文檔要通過定位頭信息中的代理服務器獲得。這個狀態碼是新加入 http 1.1中的。307 (temporary redirect/臨時重定向 ) 瀏覽器處理307 狀態的規則與302 相同。307 狀態被加入到 http 1.1 中是由于許多瀏覽器在收到302 響應時即使是原始消息為post的情況下仍然執行了錯誤的轉向。只有在收到303響應時才假定瀏覽器會在post請求時重定向。 添加這個新的狀態碼的目的很明確:在響應為303 時按照
21、 get和 post請求轉向;而在307 響應時則按照get請求轉向而不是post請求。注意:由于某些原因在httpservletresponse中還沒有與這個狀態對應的常量。該狀態碼是新加入 http 1.1 中的。注意在 httpservletresponse 中沒有 sc_temporary_redirect 常量,所以你只能顯示的使用307 狀態碼。400 (bad request/錯誤請求 ) 400 (sc_bad_request) 指出客戶端請求中的語法錯誤。401 (unauthorized/未授權 ) 401 (sc_unauthorized) 表示客戶端在授權頭信息中沒有有
22、效的身份信息時訪問受到密碼保護的頁面。 這個響應必須包含一個www-authenticate 的授權信息頭。 例如,在本書 4.5 部分中的“ restricting access to web pages./限制訪問web頁。 ”403 (forbidden/禁止 ) 403 (sc_forbidden) 的意思是除非擁有授權否則服務器拒絕提供所請求的資源。這個狀態經常會由于服務器上的損壞文件或目錄許可而引起。404 (not found/未找到 ) 404 (sc_not_found) 狀態每個網絡程序員可能都遇到過,他告訴客戶端所給的地址無法找到任何資源。它是表示“沒有所訪問頁面”的標準
23、方式。這個狀態碼是常用的響應并且在httpservletresponse類中有專門的方法實現它:senderror(message)。 相對于 setstatus使用 senderror得好處是:服務器會自動生成一個錯誤頁來顯示錯誤信息。但是,internet explorer 5 瀏覽器卻默認忽略你發揮的錯誤頁面并顯示其自定義的錯誤提示頁面,雖然微軟這么做違反了 http 規范。 要關閉此功能, 在工具菜單里, 選擇 internet選項, 進入高級標簽頁,并確認“顯示友好的 http 錯誤信息”選項(在我的瀏覽器中是倒數第8 各選項)沒有被選。但是很少有用戶知道此選項,因此這個特性被ie5
24、 隱藏了起來使用戶無法看到你所返回給用戶的信息。而其他主流瀏覽器及ie4 都完全的顯示服務器生成的錯誤提示頁面。可以參考圖6-3 及 6-4 中的例子。核心警告默認情況下,ie5 忽略服務端生成的錯誤提示頁面。405 (method not allowed/方法未允許 ) 405 (sc_method_not_allowed)指出請求方法(get, post, head, put, delete, 等) 對某些特定的資源不允許使用。該狀態碼是新加入 http 1.1中的。406 (not acceptable/無法訪問 ) 406 (sc_not_acceptable)表示請求資源的mime類
25、型與客戶端中accept 頭信息中指定的類型不一致。見本書7.2 部分中的表7.1(http 1.1 response headers and their meaning/http 1.1 響應頭信息以及他們的意義) 中對 mime類型的介紹。 406 是新加入 http 1.1中的。407 (proxy authentication required/代理服務器認證要求) 407 (sc_proxy_authentication_required)與 401 狀態有些相似,只是這個狀態用于代理服務 器 。 該 狀 態 指 出 客 戶 端 必 須 通 過 代 理 服 務 器 的 認 證 。 代
26、 理 服 務 器 返 回 一 個proxy-authenticate響應頭信息給客戶端,這會引起客戶端使用帶有proxy-authorization請求的頭信息重新連接。該狀態碼是新加入 http 1.1 中的。408 (request timeout/請求超時 ) 408 (sc_request_timeout)是指服務端等待客戶端發送請求的時間過長。該狀態碼是新加入http 1.1 中的。409 (conflict/沖突 ) 該狀態通常與put請求一同使用, 409 (sc_conflict) 狀態常被用于試圖上傳版本不正確的文件時。該狀態碼是新加入 http 1.1 中的。410 (go
27、ne/ 已經不存在 ) 410 (sc_gone)告訴客戶端所請求的文檔已經不存在并且沒有更新的地址。410 狀態不同于404,410 是在指導文檔已被移走的情況下使用,而404 則用于未知原因的無法訪問。該狀態碼是新加入 http 1.1中的。411 (length required/需要數據長度 ) 411 (sc_length_required)表示服務器不能處理請求(假設為帶有附件的post請求),除非客戶端發送content-length頭信息指出發送給服務器的數據的大小。該狀態是新加入 http 1.1 的。412 (precondition failed/先決條件錯誤) 412
28、(sc_precondition_failed) 狀態指出請求頭信息中的某些先決條件是錯誤的。該狀態是新加入 http 1.1 的。413 (request entity too large/請求實體過大 ) 413 (sc_request_entity_too_large)告訴客戶端現在所請求的文檔比服務器現在想要處理的要大。如果服務器認為能夠過一段時間處理,則會包含一個retry-after的響應頭信息。該狀態是新加入 http 1.1的。414 (request uri too long/請求 uri 過長 ) 414 (sc_request_uri_too_long)狀態用于在uri
29、過長的情況時。 這里所指的 “uri”是指 url中主機、域名及端口號之后的內容。例如:在url-http:/www.y2k-:8080/we/look/silly/now/中uri是指/we/look/silly/now/。該狀態是新加入 http 1.1的。415 (unsupported media type/不支持的媒體格式) 415 (sc_unsupported_media_type)意味著請求所帶的附件的格式類型服務器不知道如何處理。該狀態是新加入 http 1.1的。416 (requested range not satisfiable/請求范圍無法滿足) 416 表示客戶端包含了一個服務器無法滿足的range 頭信息的請求。該狀態是新加入 http 1.1 的。奇怪的是,在servlet 2.1版本 api 的 httpservletresponse中并沒有相應的常量代表該狀態。注意在servlet 2.1的規范中,類httpservl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服裝加工機器合同協議書
- 2025年甲肝滅活疫苗項目合作計劃書
- 2025年汞及汞化合物項目發展計劃
- 2025年茶幾項目建議書
- 2025年運動場館燈具項目發展計劃
- 2025年有機廢水沼氣系統合作協議書
- 工程后期維護監理補充合同確保長期使用
- 夫妻忠誠協議及違約責任追究書
- 留學行業合伙人合作協議
- 教育科技企業在線題庫授權及市場拓展合同
- 企業員工法律意識培訓課件
- 二人相聲小品搞笑臺詞二人最搞笑的相聲臺詞
- 家具維保服務投標方案
- 交通事故自救、互救基本常識(新版)
- 環保管家服務投標方案(技術標)
- 樁頂地系梁專項施工方案
- 電氣工程概論-肖登明
- 民間個人借款還清證明范本
- 膠粘劑制造業行業營銷方案
- 【江淮汽車公司財務現狀及其盈利能力問題分析(10000字論文)】
- Sibelius使用教程教材說明
評論
0/150
提交評論