日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HTTP状态码和编程

發布時間:2025/4/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTTP状态码和编程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 HTTP狀態碼

狀態碼
消息
描述
?
100
Continue
只有一部分請求被服務器接收,但只要沒被服務器拒絕,客戶端就會延續這個請求
?
101
Switching Protocols
服務器交換機協議
?
200
OK
請求被確認
?
201
Created
請求時完整的,新的資源被創建
?
202
Accepted
請求被接受,但未處理完
?
203
Non-authoritative Information
?
204
No Content
?
205
Reset Content
?
206
Partial Content
?
300
Multiple Choices
一個超鏈接表,用戶可以選擇一個超鏈接并訪問,最大支持5個超鏈接
?
301
Moved Permanently
被請求的頁面已經移動到了新的URL下
?
302
Found
被請求的頁面暫時性地移動到了新的URL下
?
303
See Other
被請求的頁面可以在一個不同的URL下找到
?
304
Not Modified
?
305
Use Proxy
?
306
Unused
已經不再使用此狀態碼,但狀態碼被保留
?
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"沒有被定義,服務器拒絕接受請求
?
412
Precondition Failed
請求的前提條件被服務器評估為false
?
413
Request Entity Too Large
因為請求的實體太大,服務器拒絕接受請求
?
414
Request-url Too Long
服務器拒絕接受請求,因為URL太長。多出現在把"POST"請求轉換為"GET"請求時所附帶的大量查詢信息
?
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版本


?
HTTP請求與HTTP響應的格式相近,都有著如下結構:
?以狀態行+CRLF(回車換行)開始
?零行或多行頭模塊+CRLF
?一個空行,比如CRLF
?可選的消息體比如文件,查詢數據,查詢輸出
?
舉例來說,一個服務器響應頭看起來就像下面這樣:
HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
? (Blank Line)
<!doctype ...>
<html>
<head>...</head>
<body>
...
</body>
</html>
狀態行包含HTTP版本,一個狀態碼,和狀態碼相對應的短消息。

三 JSP對HTTP狀態碼的編程
<一>
HttpServletResponse 類中用來設置狀態碼的方法:
?
方法 & 描述

1
public void setStatus ( int statusCode )
?此方法可以設置任意的狀態碼。如果您的響應包含一個特殊的狀態碼和一個文檔,請確保在用PrintWriter返回任何內容前調用setStatus方法

2
public void sendRedirect(String url)
?此方法產生302響應,同時產生一個 Location 頭告訴URL 一個新的文檔

3
public void sendError(int code, String message)
?此方法將一個狀態碼(通常為 404)和一個短消息,自動插入HTML文檔中并發回給客戶端

<二> HTTP狀態碼程序示例

?例子將會發送407錯誤碼給瀏覽器,然后瀏覽器將會告訴您"Need authentication!!!"。

<html> <head> <title>Setting HTTP Status Code</title> </head> <body> <%// 設置錯誤代碼,并說明原因response.sendError(407, "Need authentication!!!" ); %> </body> </html>

?

四 Asp.Net對HTTP狀態碼的編程
每次當用戶代理(可以理解為就是IE和Firefox)向Web站點請求一個URL地址,服務器都會給予回復,回復內容包括兩部分:HTTP報頭,和被請求的內容。但僅從瀏覽器上我們通常只能看到內容而看不到報頭信息。所以,我們需要通過一些瀏覽器插件來觀察他們。IE用

WebDeveloper;FireFox用Fiddler。

對SEO而言,我們需要了解的狀態代碼有:
重定向:301和302
被刪除:404
服務器錯誤:500

302在asp.net中有一個很常見的原型:Response.Redirect(),請看代碼:

??? protected void Button1_Click(object sender, EventArgs e)
??? {
??????? Response.Redirect("~/target.aspx");
??????? //Server.Transfer("~/target.aspx");
??? }
source.aspx頁面上一個Button,Click事件中代碼為Response.Redirect(~/target.aspx),點擊source.aspx頁面Button,查看該頁面對應的狀態碼,結果就是302。

客戶端/服務器之間往返的過程其實是這樣的:
1. 點擊Button,產生回發,回發的目標頁面仍然是source.aspx,所以請求仍由source.aspx頁面進行處理,這樣才能進入source.aspx頁面的Click事件;
2. Click事件中,Response.Redirect(~/target.aspx)所作的事情實際上就是:
??? 2.1 將回復中Http報頭的狀態碼改成302;
??? 2.1 指明302指向的頁面就是target.aspx;
3. 瀏覽器(用戶代理)收到回復的報頭信息后,
??? 3.1 將URL地址欄的地址改成target.aspx;
??? 3.2 向target.aspx發出請求

和Response.Redirect()同樣著名的是Server.Transfer()。但使用Server.Transfer,你會發現,頁面對應的狀態碼是200,且地址欄的url并不會發生改變,仍然是source.aspx!這是因為Server.Transfer是完全在服務器端進行跳轉的。所以一種很流行但我覺得不那么正

確的說法就是:應當使用Server.Transfer()而不是Response.Redirect()來提高性能。因為在得到Server.Transfer()性能提升的同時,你應該權衡:性能的提高,和由此產生的代價。很難直接給出一個答案,這需要依靠具體的情景來做判斷。但我傾向于盡量不使用

Server.Transfer(),因為:1. 性能提升不大,節約的其實就是報頭信息的往返;2. 清晰的URL無論對于終端用戶,還是開發調試,都有很重要的作用。
???????
302意味著重定向是暫時的,而301則是永久的重定向。
就SEO而言,為了延續鏈接價值和排除重復內容 ,我們在以下幾種情況下都可能會用到301:
1. 域名更換;
2. 多個域名間映射;如www.freeflying.com和www.freeflying.cn,兩個域名其實指向的是同一個網站,這就會造成大量的重復內容,對網站的排名不利。
3. 清除默認索引頁的重復問題:比如我們輸入www.freeflying.com/article/時,如果在IIS里進行了設定,將指向www.freeflying.com/article/Default.aspx
4. 其他的“不同域名相同內容”的重復問題,典型的就是URL重寫后,www.freeflying.com/article/321.html和www.freeflying.com/article.aspx?id=321指向的其實都是同一個網頁內容。

對于404,最直觀的理解就是頁面不存在。如果網站是純靜態的,這很好理解;但當網站做成動態之后,如www.freeflying.com/article/321.html(映射為www.freeflying.com/article.aspx?id=321),雖然id=321的文章已經被刪除了,或者根本不存在,但

article.aspx這個頁面始終是存在的,所以HTTP報頭的狀態碼不會是404,而是200,表示請求成功。
我們假設一個網站有id=321/342/6739……的文章都被刪除了,但蜘蛛并不知道,它仍然會進行抓取,結果它發現,這些不同的URL對應的居然全是同一個頁面。它就會將其當做重復頁面進行處理。

500意味著程序內部出現異常,比如3/0,代碼如下:
??? protected void Button1_Click(object sender, EventArgs e)
??? {
??????? int i, j;
??????? i = 8;
??????? j = 0;
??????? this.Label1.Text = (i / j).ToString();
??? }


如果搜索引擎接到一個500的狀態碼時,搜索引擎會理解程序只是出現了暫時性的錯誤,它會在之后繼續抓取,查看問題是否已經解決,這并不會給網站帶來太大的問題——只要你能夠盡快恢復。但是,Asp.net自帶的個custom error的web.config配置,會讓我們在不經

意間“失誤”。理由和上面講到的404變200類似,當轉向自定義的error.aspx之后,蜘蛛得到的是成功鏈接error.aspx的200代碼,所以蜘蛛會以為報錯的originpage.aspx正常的顯示內容就是error.aspx的內容。不同url參數的originpage.aspx會被蜘蛛認為是不同的url

,所以蜘蛛會認為這些所有的url都重復了——后果是很嚴重的。

認識到問題的嚴重性之后,我們來看解決問題的辦法,

protected void Page_Load(object sender, EventArgs e){//如果你希望搜索引擎知道這個url將不再使用Response.StatusCode = 404;//如果你希望告訴搜索引擎這個url只是出現了暫時的故障Response.StatusCode = 500;//如果你想永久重定向該頁面Response.StatusCode = 301;Response.RedirectLocation = @"\website1\target.aspx";}



?

總結

以上是生活随笔為你收集整理的HTTP状态码和编程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 毛片传媒 | 日本中文一区 | 福利资源导航 | 中文字幕欧美专区 | 护士人妻hd中文字幕 | 亚洲天堂五月天 | 美女毛片在线观看 | 综合久久久久久久久久久 | 99re这里只有| 国产大片中文字幕在线观看 | 竹菊影视一区二区三区 | 可以看毛片的网站 | 揄拍自拍 | 99热最新在线 | 毛片久久久久久 | 国内精品久久久久久久影视简单 | 成人污污www网站免费丝瓜 | 欧美精品videos另类日本 | 亚洲大胆视频 | av免费国产 | 手机福利在线 | 小黄网站在线观看 | 久久久久不卡 | 人与拘一级a毛片 | 美女张开腿让男人桶爽 | jizz在线播放 | av手机网| 亚洲一区二区三区精品视频 | 蜜桃视频日韩 | 国产一级做a爰片久久毛片男 | 欧美亚洲另类图片 | 天天爱天天做 | 最新黄色在线 | 精品日韩在线观看 | 天天干 夜夜操 | 锦绣未央在线观看 | 超鹏在线视频 | 欧美综合自拍亚洲综合图片区 | 成人免费网站在线观看 | www.九色.com | 波多野结衣av在线免费观看 | 国产成人免费网站 | 国产福利一区二区三区视频 | 李华月全部毛片 | 人妻精品久久久久中文 | 免费性网站 | 国产一区二区视频免费在线观看 | 国产日本一区二区三区 | 欧美搞逼视频 | 一本加勒比波多野结衣 | 日韩三级黄 | www,jizz,com| av观看一区 | 16—17女人毛片 | 午夜激情久久 | 无毒黄色网址 | 日本成人免费观看 | 91插插插插插插插插 | 亚洲第一免费 | 美女十八毛片 | 日本二三区| 天天摸日日干 | 激情五月深爱五月 | 污免费在线观看 | 东方av正在进入 | 中国av在线播放 | 午夜视频在线免费看 | 久国产视频 | 99色亚洲| 成人亚洲精品久久久久软件 | 夜夜嗨av色一区二区不卡 | 欧美亚洲综合一区 | 国产特级aaaaaa大片 | 亚洲av无码专区在线 | 亚洲精品亚洲人成人网 | 99久久精品无码一区二区毛片 | 精品1区2区 | 九九热精品视频在线 | 成人亚洲电影 | 在线观看网址你懂的 | 日韩毛片| 欧美三级又粗又硬 | av在线综合网 | 黄色免费av | 亚洲50p| 亚洲色图偷拍视频 | 国产综合精品在线 | 小泽玛利亚一区二区三区视频 | 欧美日韩精品一区二区三区 | 草草地址线路①屁屁影院成人 | 中国丰满老太hd | 91草草草 | 99久久久无码国产精品性青椒 | 青青青手机视频在线观看 | 最近日本中文字幕 | www.天天射| 视频一区欧美 | 天海翼av在线 | 国产精品电影一区二区三区 |