結(jié)合openstack swift的文檔和代碼茴肥,現(xiàn)在基本上理解了swift處理上傳下載一個文件的流程著角。也想通了整個集群怎么擴容的問題梨与,和錯誤處理(更換磁盤捡硅、機器的上架下架)。
在上述所說的幾種情況的大概流程是知道了祈噪,也知道了代碼的結(jié)構(gòu)泽铛。但對細節(jié)的處理還不是很明白。在代碼中钳降,有的很多對http返回狀態(tài)的詳解厚宰,之前只知道404,503,..。
還有就是代碼里面的devices的parts_wanted存在小于0的狀況遂填,但現(xiàn)在還不知道在何種情況下會出現(xiàn)小于0?
在系統(tǒng)和代碼結(jié)構(gòu)的理解基礎(chǔ)上铲觉,要對更細節(jié)的代碼實現(xiàn)讀懂。
原文地址:http://www.chinahtml.com/1006/127570310118872.html
如果某項請求發(fā)送到您的服務(wù)器要求顯示您網(wǎng)站上的某個網(wǎng)頁(例如吓坚,用戶通過瀏覽器訪問您的網(wǎng)頁或 Googlebot 抓取網(wǎng)頁時)撵幽,服務(wù)器將會返回 HTTP 狀態(tài)代碼以響應(yīng)請求。
此狀態(tài)代碼提供關(guān)于請求狀態(tài)的信息礁击, 告訴 Googlebot 關(guān)于您的網(wǎng)站和請求的網(wǎng)頁的信息盐杂。
一些常見的狀態(tài)代碼包括:
200– 服務(wù)器成功返回網(wǎng)頁
404– 請求的網(wǎng)頁不存在
503– 服務(wù)器暫時不可用
下面提供 HTTP 狀態(tài)代碼的完整列表。 點擊鏈接可了解詳情哆窿。 您也可以訪問有關(guān) HTTP 狀態(tài)代碼的W3C 網(wǎng)頁以獲得更多信息链烈。
1xx(臨時響應(yīng))
表示臨時響應(yīng)并需要請求者繼續(xù)執(zhí)行操作的狀態(tài)代碼。
代碼說明
100(繼續(xù))請求者應(yīng)當繼續(xù)提出請求挚躯。 服務(wù)器返回此代碼表示已收到請求的第一部分强衡,正在等待其余部分。
101(切換協(xié)議)請求者已要求服務(wù)器切換協(xié)議码荔,服務(wù)器已確認并準備切換漩勤。
2xx(成功)
表示服務(wù)器成功處理了請求的狀態(tài)代碼。
代碼說明
200(成功)服務(wù)器已成功處理了請求缩搅。 通常越败,這表示服務(wù)器提供了請求的網(wǎng)頁。 如果針對您的 robots.txt 文件顯示此狀態(tài)硼瓣,則表示 Googlebot 已成功檢索到該文件究飞。
201(已創(chuàng)建)請求成功并且服務(wù)器創(chuàng)建了新的資源。
202(已接受)服務(wù)器已接受請求堂鲤,但尚未處理噪猾。
203(非授權(quán)信息)服務(wù)器已成功處理了請求,但返回的信息可能來自另一來源筑累。
204(無內(nèi)容)服務(wù)器成功處理了請求袱蜡,但沒有返回任何內(nèi)容。
205(重置內(nèi)容)服務(wù)器成功處理了請求慢宗,但沒有返回任何內(nèi)容坪蚁。 與 204 響應(yīng)不同奔穿,此響應(yīng)要求請求者重置文檔視圖(例如,清除表單內(nèi)容以輸入新內(nèi)容)敏晤。
206(部分內(nèi)容)服務(wù)器成功處理了部分 GET 請求贱田。
3xx(重定向)
要完成請求,需要進一步操作嘴脾。 通常男摧,這些狀態(tài)代碼用來重定向。 Google 建議您在每次請求中使用重定向不要超過 5 次译打。 您可以使用網(wǎng)站管理員工具查看一下 Googlebot 在抓取重定向網(wǎng)頁時是否遇到問題耗拓。診斷下的網(wǎng)
絡(luò)抓取頁面列出了由于重定向錯誤而導(dǎo)致 Googlebot 無法抓取的網(wǎng)址。
代碼說明
300(多種選擇)針對請求奏司,服務(wù)器可執(zhí)行多種操作乔询。 服務(wù)器可根據(jù)請求者(用戶代理)選擇一項操作,或提供操作列表供請求者選擇韵洋。
301(永久移動)請求的網(wǎng)頁已永久移動到新位置竿刁。 服務(wù)器返回此響應(yīng)(對 GET 或 HEAD 請求的響應(yīng))時,會自動將請求者轉(zhuǎn)到新位置搪缨。 您應(yīng)使用此代碼告訴 Googlebot 某個網(wǎng)頁或網(wǎng)站已永久移動到新位置食拜。
302(暫時移動)服 務(wù)器目前從不同位置的網(wǎng)頁響應(yīng)請求,但請求者應(yīng)繼續(xù)使用原有位置來進行以后的請求副编。 此代碼與響應(yīng) GET 或 HEAD 請求的 301
代碼類似监婶,會自動將請求者轉(zhuǎn)到不同的位置,但您不應(yīng)使用此代碼來告訴 Googlebot 某個網(wǎng)頁或網(wǎng)站已經(jīng)移動齿桃,因為 Googlebot
會繼續(xù)抓取原有位置并編入索引。
303(查看其他位置)請求者應(yīng)當對不同的位置使用單獨的 GET 請求來檢索響應(yīng)時煮盼,服務(wù)器返回此代碼短纵。 對于除 HEAD 之外的所有請求,服務(wù)器會自動轉(zhuǎn)到其他位置僵控。
304(未修改)自從上次請求后香到,請求的網(wǎng)頁未修改過。服務(wù)器返回此響應(yīng)時报破,不會返回網(wǎng)頁內(nèi)容悠就。如果網(wǎng)頁自請求者上次請求后再也沒有更改 過,您應(yīng)當將服務(wù)器配置為返回此響應(yīng)(稱為 If-Modified-Since HTTP 標頭)充易。 由于服務(wù)器可以告訴 Googlebot 自從上次抓取后網(wǎng)頁沒有更改過梗脾,因此可節(jié)省帶寬和開銷
。
305(使用代理)請求者只能使用代理訪問請求的網(wǎng)頁盹靴。 如果服務(wù)器返回此響應(yīng)炸茧,還表示請求者應(yīng)使用代理瑞妇。
307(暫時重定向)服 務(wù)器目前從不同位置的網(wǎng)頁響應(yīng)請求,但請求者應(yīng)繼續(xù)使用原有位置來進行以后的請求梭冠。 此代碼與響應(yīng) GET 和 HEAD 請求的 301
代碼類似辕狰,會自動將請求者轉(zhuǎn)到不同的位置,但您不應(yīng)使用此代碼來告訴 Googlebot 某個頁面或網(wǎng)站已經(jīng)移動控漠,因為 Googlebot
會繼續(xù)抓取原有位置并編入索引蔓倍。
4xx(請求錯誤)
這些狀態(tài)代碼表示請求可能出錯,妨礙了服務(wù)器的處理盐捷。
代碼說明
400(錯誤請求)服務(wù)器不理解請求的語法偶翅。
401(未授權(quán))請求要求身份驗證。 對于需要登錄的網(wǎng)頁毙驯,服務(wù)器可能返回此響應(yīng)倒堕。
403(禁止)服務(wù)器拒絕請求。 如果您看到 Googlebot 在嘗試抓取您網(wǎng)站上的有效網(wǎng)頁時收到此狀態(tài)代碼(可以在 Google 網(wǎng)站管理員工具診 斷下的網(wǎng)絡(luò)抓取頁面上看到此信息)爆价,可能是您的服務(wù)器或主機拒絕 Googlebot 訪問垦巴。
404(未找到)服務(wù)器找不到請求的網(wǎng)頁。 例如铭段,如果請求服務(wù)器上不存在的網(wǎng)頁骤宣,服務(wù)器通常會返回此代碼。如果您的網(wǎng)站上沒有 robots.txt 文件序愚,而您在 Google 網(wǎng)站管理員工具”診斷”標簽的robots.txt 頁上看到此狀態(tài)憔披,那么這是正確的狀態(tài)。 但是爸吮,如果您有 robots.txt 文件而又看到此狀態(tài)芬膝,則說明您的 robots.txt 文件可能命名錯誤或位于錯誤的位置 (該文件應(yīng)當位于頂級域名,名為 robots.txt)形娇。
如果您看到有關(guān) Googlebot 嘗試抓取的網(wǎng)址的此狀態(tài)(在”診斷”標簽的 HTTP 錯誤頁上)锰霜,則表示 Googlebot 追蹤的可能是另一個頁面的無效鏈接(是舊鏈接或輸入有誤的鏈接)。
405(禁用的方法)禁用請求中指定的方法桐早。
406(不可接受)無法使用請求的內(nèi)容特性響應(yīng)請求的網(wǎng)頁癣缅。
407(需要代理授權(quán))此狀態(tài)代碼與 401(未授權(quán))類似,但指定請求者應(yīng)當授權(quán)使用代理哄酝。 如果服務(wù)器返回此響應(yīng)友存,還會指明請求者應(yīng)當使用的代理。
408(請求超時)服務(wù)器等候請求時發(fā)生超時陶衅。
409(沖突)服務(wù)器在完成請求時發(fā)生沖突屡立。 服務(wù)器必須在響應(yīng)中包含有關(guān)沖突的信息。 服務(wù)器在響應(yīng)與前一個請求相沖突的 PUT 請求時可能會返回此代碼搀军,同時會附上兩個請求的差異列表侠驯。
410(已刪除)如果請求的資源已永久刪除抡秆,服務(wù)器就會返回此響應(yīng)。 該代碼與 404(未找到)代碼相似吟策,但在資源以前存在而現(xiàn)在不存在的情況下儒士,有時會用來替代 404 代碼。 如果資源已永久刪除檩坚,您應(yīng)當使用 301 指定資源的新位置着撩。
411(需要有效長度)服務(wù)器不接受不含有效內(nèi)容長度標頭字段的請求。
412(未滿足前提條件)服務(wù)器未滿足請求者在請求中設(shè)置的其中一個前提條件匾委。
413(請求實體過大)服務(wù)器無法處理請求拖叙,因為請求實體過大,超出服務(wù)器的處理能力赂乐。
414(請求的 URI 過長)請求的 URI(通常為網(wǎng)址)過長薯鳍,服務(wù)器無法處理。
415(不支持的媒體類型)請求的格式不受請求頁面的支持挨措。
416(請求范圍不符合要求)如果頁面無法提供請求的范圍挖滤,則服務(wù)器會返回此狀態(tài)代碼。
417(未滿足期望要求)服務(wù)器未滿足”期望”請求標頭字段的要求浅役。
5xx(服務(wù)器錯誤)
這些狀態(tài)代碼表示服務(wù)器在嘗試處理請求時發(fā)生內(nèi)部錯誤斩松。 這些錯誤可能是服務(wù)器本身的錯誤,而不是請求出錯觉既。
代碼說明
500(服務(wù)器內(nèi)部錯誤)服務(wù)器遇到錯誤惧盹,無法完成請求。
501(尚未實施)服務(wù)器不具備完成請求的功能瞪讼。 例如钧椰,服務(wù)器無法識別請求方法時可能會返回此代碼。
502(錯誤網(wǎng)關(guān))服務(wù)器充當網(wǎng)關(guān)或代理符欠,從上游服務(wù)器收到無效響應(yīng)嫡霞。
503(服務(wù)不可用)服務(wù)器目前無法使用(由于超載或停機維護)。 通常背亥,這只是暫時狀態(tài)。
504(網(wǎng)關(guān)超時)服務(wù)器充當網(wǎng)關(guān)或代理悬赏,但沒有及時從上游服務(wù)器收到請求狡汉。
505(HTTP 版本不受支持)服務(wù)器不支持請求中所用的 HTTP 協(xié)議版本。
如果某項請求發(fā)送到您的服務(wù)器要求顯示您網(wǎng)站上的某個網(wǎng)頁(例如闽颇,用戶通過瀏覽器訪問您的網(wǎng)頁或 Googlebot 抓取網(wǎng)頁時)盾戴,服務(wù)器將會返回 HTTP 狀態(tài)代碼以響應(yīng)請求。
此狀態(tài)代碼提供關(guān)于請求狀態(tài)的信息兵多, 告訴 Googlebot 關(guān)于您的網(wǎng)站和請求的網(wǎng)頁的信息尖啡。
一些常見的狀態(tài)代碼包括:
200– 服務(wù)器成功返回網(wǎng)頁
404– 請求的網(wǎng)頁不存在
503– 服務(wù)器暫時不可用
下面提供 HTTP 狀態(tài)代碼的完整列表橄仆。 點擊鏈接可了解詳情。 您也可以訪問有關(guān) HTTP 狀態(tài)代碼的W3C 網(wǎng)頁以獲得更多信息衅斩。
1xx(臨時響應(yīng))
表示臨時響應(yīng)并需要請求者繼續(xù)執(zhí)行操作的狀態(tài)代碼盆顾。
代碼說明
100(繼續(xù))請求者應(yīng)當繼續(xù)提出請求。 服務(wù)器返回此代碼表示已收到請求的第一部分畏梆,正在等待其余部分您宪。
101(切換協(xié)議)請求者已要求服務(wù)器切換協(xié)議,服務(wù)器已確認并準備切換奠涌。
2xx(成功)
表示服務(wù)器成功處理了請求的狀態(tài)代碼宪巨。
代碼說明
200(成功)服務(wù)器已成功處理了請求。 通常溜畅,這表示服務(wù)器提供了請求的網(wǎng)頁捏卓。 如果針對您的 robots.txt 文件顯示此狀態(tài),則表示 Googlebot 已成功檢索到該文件慈格。
201(已創(chuàng)建)請求成功并且服務(wù)器創(chuàng)建了新的資源怠晴。
202(已接受)服務(wù)器已接受請求,但尚未處理峦椰。
203(非授權(quán)信息)服務(wù)器已成功處理了請求龄寞,但返回的信息可能來自另一來源。
204(無內(nèi)容)服務(wù)器成功處理了請求汤功,但沒有返回任何內(nèi)容物邑。
205(重置內(nèi)容)服務(wù)器成功處理了請求,但沒有返回任何內(nèi)容滔金。 與 204 響應(yīng)不同色解,此響應(yīng)要求請求者重置文檔視圖(例如,清除表單內(nèi)容以輸入新內(nèi)容)餐茵。
206(部分內(nèi)容)服務(wù)器成功處理了部分 GET 請求科阎。
3xx(重定向)
要完成請求,需要進一步操作忿族。 通常锣笨,這些狀態(tài)代碼用來重定向。 Google 建議您在每次請求中使用重定向不要超過 5 次道批。 您可以使用網(wǎng)站管理員工具查看一下 Googlebot 在抓取重定向網(wǎng)頁時是否遇到問題错英。診斷下的網(wǎng)
絡(luò)抓取頁面列出了由于重定向錯誤而導(dǎo)致 Googlebot 無法抓取的網(wǎng)址。
代碼說明
300(多種選擇)針對請求隆豹,服務(wù)器可執(zhí)行多種操作椭岩。 服務(wù)器可根據(jù)請求者(用戶代理)選擇一項操作,或提供操作列表供請求者選擇。
301(永久移動)請求的網(wǎng)頁已永久移動到新位置判哥。 服務(wù)器返回此響應(yīng)(對 GET 或 HEAD 請求的響應(yīng))時献雅,會自動將請求者轉(zhuǎn)到新位置。 您應(yīng)使用此代碼告訴 Googlebot 某個網(wǎng)頁或網(wǎng)站已永久移動到新位置塌计。
302(暫時移動)服 務(wù)器目前從不同位置的網(wǎng)頁響應(yīng)請求挺身,但請求者應(yīng)繼續(xù)使用原有位置來進行以后的請求。 此代碼與響應(yīng) GET 或 HEAD 請求的 301
代碼類似夺荒,會自動將請求者轉(zhuǎn)到不同的位置瞒渠,但您不應(yīng)使用此代碼來告訴 Googlebot 某個網(wǎng)頁或網(wǎng)站已經(jīng)移動,因為 Googlebot
會繼續(xù)抓取原有位置并編入索引技扼。
303(查看其他位置)請求者應(yīng)當對不同的位置使用單獨的 GET 請求來檢索響應(yīng)時伍玖,服務(wù)器返回此代碼。 對于除 HEAD 之外的所有請求剿吻,服務(wù)器會自動轉(zhuǎn)到其他位置窍箍。
304(未修改)自從上次請求后,請求的網(wǎng)頁未修改過丽旅。服務(wù)器返回此響應(yīng)時椰棘,不會返回網(wǎng)頁內(nèi)容。如果網(wǎng)頁自請求者上次請求后再也沒有更改 過榄笙,您應(yīng)當將服務(wù)器配置為返回此響應(yīng)(稱為 If-Modified-Since HTTP 標頭)邪狞。 由于服務(wù)器可以告訴 Googlebot 自從上次抓取后網(wǎng)頁沒有更改過,因此可節(jié)省帶寬和開銷
茅撞。
305(使用代理)請求者只能使用代理訪問請求的網(wǎng)頁帆卓。 如果服務(wù)器返回此響應(yīng),還表示請求者應(yīng)使用代理米丘。
307(暫時重定向)服 務(wù)器目前從不同位置的網(wǎng)頁響應(yīng)請求剑令,但請求者應(yīng)繼續(xù)使用原有位置來進行以后的請求。 此代碼與響應(yīng) GET 和 HEAD 請求的 301
代碼類似拄查,會自動將請求者轉(zhuǎn)到不同的位置吁津,但您不應(yīng)使用此代碼來告訴 Googlebot 某個頁面或網(wǎng)站已經(jīng)移動,因為 Googlebot
會繼續(xù)抓取原有位置并編入索引堕扶。
4xx(請求錯誤)
這些狀態(tài)代碼表示請求可能出錯碍脏,妨礙了服務(wù)器的處理。
代碼說明
400(錯誤請求)服務(wù)器不理解請求的語法稍算。
401(未授權(quán))請求要求身份驗證典尾。 對于需要登錄的網(wǎng)頁,服務(wù)器可能返回此響應(yīng)邪蛔。
403(禁止)服務(wù)器拒絕請求急黎。 如果您看到 Googlebot 在嘗試抓取您網(wǎng)站上的有效網(wǎng)頁時收到此狀態(tài)代碼(可以在 Google 網(wǎng)站管理員工具診 斷下的網(wǎng)絡(luò)抓取頁面上看到此信息),可能是您的服務(wù)器或主機拒絕 Googlebot 訪問侧到。
404(未找到)服務(wù)器找不到請求的網(wǎng)頁勃教。 例如,如果請求服務(wù)器上不存在的網(wǎng)頁匠抗,服務(wù)器通常會返回此代碼故源。如果您的網(wǎng)站上沒有 robots.txt 文件,而您在 Google 網(wǎng)站管理員工具”診斷”標簽的robots.txt 頁上看到此狀態(tài)汞贸,那么這是正確的狀態(tài)绳军。 但是,如果您有 robots.txt 文件而又看到此狀態(tài)矢腻,則說明您的 robots.txt 文件可能命名錯誤或位于錯誤的位置 (該文件應(yīng)當位于頂級域名门驾,名為 robots.txt)。
如果您看到有關(guān) Googlebot 嘗試抓取的網(wǎng)址的此狀態(tài)(在”診斷”標簽的 HTTP 錯誤頁上)多柑,則表示 Googlebot 追蹤的可能是另一個頁面的無效鏈接(是舊鏈接或輸入有誤的鏈接)奶是。
405(禁用的方法)禁用請求中指定的方法。
406(不可接受)無法使用請求的內(nèi)容特性響應(yīng)請求的網(wǎng)頁竣灌。
407(需要代理授權(quán))此狀態(tài)代碼與 401(未授權(quán))類似聂沙,但指定請求者應(yīng)當授權(quán)使用代理。 如果服務(wù)器返回此響應(yīng)初嘹,還會指明請求者應(yīng)當使用的代理及汉。
408(請求超時)服務(wù)器等候請求時發(fā)生超時。
409(沖突)服務(wù)器在完成請求時發(fā)生沖突屯烦。 服務(wù)器必須在響應(yīng)中包含有關(guān)沖突的信息坷随。 服務(wù)器在響應(yīng)與前一個請求相沖突的 PUT 請求時可能會返回此代碼,同時會附上兩個請求的差異列表漫贞。
410(已刪除)如果請求的資源已永久刪除甸箱,服務(wù)器就會返回此響應(yīng)。 該代碼與 404(未找到)代碼相似迅脐,但在資源以前存在而現(xiàn)在不存在的情況下芍殖,有時會用來替代 404 代碼。 如果資源已永久刪除谴蔑,您應(yīng)當使用 301 指定資源的新位置豌骏。
411(需要有效長度)服務(wù)器不接受不含有效內(nèi)容長度標頭字段的請求。
412(未滿足前提條件)服務(wù)器未滿足請求者在請求中設(shè)置的其中一個前提條件隐锭。
413(請求實體過大)服務(wù)器無法處理請求窃躲,因為請求實體過大,超出服務(wù)器的處理能力钦睡。
414(請求的 URI 過長)請求的 URI(通常為網(wǎng)址)過長蒂窒,服務(wù)器無法處理。
415(不支持的媒體類型)請求的格式不受請求頁面的支持。
416(請求范圍不符合要求)如果頁面無法提供請求的范圍洒琢,則服務(wù)器會返回此狀態(tài)代碼秧秉。
417(未滿足期望要求)服務(wù)器未滿足”期望”請求標頭字段的要求。
5xx(服務(wù)器錯誤)
這些狀態(tài)代碼表示服務(wù)器在嘗試處理請求時發(fā)生內(nèi)部錯誤衰抑。 這些錯誤可能是服務(wù)器本身的錯誤象迎,而不是請求出錯。
代碼說明
500(服務(wù)器內(nèi)部錯誤)服務(wù)器遇到錯誤呛踊,無法完成請求砾淌。
501(尚未實施)服務(wù)器不具備完成請求的功能。 例如谭网,服務(wù)器無法識別請求方法時可能會返回此代碼汪厨。
502(錯誤網(wǎng)關(guān))服務(wù)器充當網(wǎng)關(guān)或代理,從上游服務(wù)器收到無效響應(yīng)愉择。
503(服務(wù)不可用)服務(wù)器目前無法使用(由于超載或停機維護)骄崩。 通常,這只是暫時狀態(tài)薄辅。
504(網(wǎng)關(guān)超時)服務(wù)器充當網(wǎng)關(guān)或代理要拂,但沒有及時從上游服務(wù)器收到請求。
505(HTTP 版本不受支持)服務(wù)器不支持請求中所用的 HTTP 協(xié)議版本站楚。