我在我的網站上有受限制的頁面,例如URL爲http://example.com/some-private-article.html,它顯示一個登錄頁面,您必須輸入憑據才能看到該頁面。自定義登錄頁面的正確http狀態碼是什麼?
信息沒有消失,它在那裏,但它的訪問被拒絕。
我想給一個401響應,但沒有HTTP認證/消化而規範說,這是必需的,在登錄過程的處理服務器端用PHP。
什麼是這種頁面的正確HTTP狀態碼?
我在我的網站上有受限制的頁面,例如URL爲http://example.com/some-private-article.html,它顯示一個登錄頁面,您必須輸入憑據才能看到該頁面。自定義登錄頁面的正確http狀態碼是什麼?
信息沒有消失,它在那裏,但它的訪問被拒絕。
我想給一個401響應,但沒有HTTP認證/消化而規範說,這是必需的,在登錄過程的處理服務器端用PHP。
什麼是這種頁面的正確HTTP狀態碼?
你一定要看看這個http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html它定義每個響應代碼及其含義。
爲了您的目的,雖然我可能會建議401 - 未經授權。
編輯:對,如果你正在做的表格形式的驗證,然後第二個想法無論是302 - 發現或307 - 臨時重定向到登錄頁面可能會是一個合理的反應,你正在做自己的身份驗證。
我會做這種方式:
按照HTTP status code spec我應該使用403或404自定義登錄頁面,如果用戶沒有訪問已經(在沒有登錄或沒有所要求的權限),並具有登錄到網頁通過表單,外部客戶端必須通過發送POST請求(通過HTTPS連接)與憑據來登錄,然後使用會話密鑰存儲cookie,以便在重新加載頁面後查看受限制的內容。另一方面,如果我想通過GET類型請求爲腳本提供登錄頁面,或者爲不需要Cookie的客戶端提供登錄頁面,或者可以通過類似https://username:[email protected]/some-private-article.html這樣的URL登錄,那麼我必須使用HTTP認證,並且沒有關於瀏覽器中登錄彈出窗口的選擇,在這種情況下,適用於使用401 HTTP狀態代碼。
我希望我有這個權利,如果不是,那麼請糾正我。
402意味着「需要付款」而不是「未經授權」。 「未經授權」是401,並且說「響應必須包含一個WWW-Authenticate標頭」,這是對此的錯誤認證類型,並已被問題明確排除。 – Quentin
D'oh,意思是401,錯字......編輯答案,然後再讀一點問題。 – phuzi