簡體   English   中英

修改使用HTTP狀態代碼發送的文本是否可以接受?

[英]Is it acceptable to modify the text sent with the HTTP status code?

我正在我的網站上實施一種“測試模式”,在他們正在進行構建時禁止訪問某些頁面,這使得它們只能由管理員訪問以進行私人測試。 我計划使用401狀態代碼,因為頁面確實存在但不允許使用它,並且它們可能會或可能不會被驗證,但只有某些用戶(基本上是我)仍然可以訪問該頁面。

我想知道的是, HTTP/1.1 401部分之后的文本是否重要? 它是否必須是Unauthorized或者它基本上可以是你想要放在它之后的任何東西,只要401仍適用於錯誤? 我想發送一條消息,例如Temporarily Unavailable以指示該頁面通常可供所有訪問者使用,但正在進行重建並暫時不可用。 我應該這樣做嗎?

你可以改變它們。

狀態消息(技術上稱為“原因短語”)僅是建議,“可以在不影響協議的情況下進行更改”。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1

但是,您應該:-)仍然正確使用代碼並提供有意義的消息。 如果您的條件是RFC所說的401,那么只使用401。

是的,可以改變短語的原因。 它不會影響消息的含義。

但如果您需要說“暫時不可用”,則需要將其設為5xx(服務器)代碼。 503似乎就在這里(參見RFC 2616,第10.5.4節 )。

您可以更改文本(很少有http客戶端注意它),但最好使用最適用的響應代碼。 畢竟,指出失敗的原因是如何使用各種響應代碼。

也許這適合:

404 Not Found無法找到所請求的資源,但將來可能會再次使用。[2] 客戶的后續請求是允許的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM