簡體   English   中英

rails api中阻止的用戶配置文件的最佳HTTP狀態代碼是什么?

[英]What is the best HTTP status code for blocked user profile in rails api?

我在Rails中為社交應用編寫了一個API。 這個應用程序喜歡Facebook,用戶可以阻止其他用戶。 如果用戶A阻止用戶B,則用戶B無法查看用戶A的配置文件頁面。那么我應該返回的最佳HTTP代碼狀態是什么:404,403,204或200(什么都不渲染)?

我更喜歡使用403 Forbidden

403(禁止)狀態代碼表示服務器理解請求但拒絕授權。 希望公開請求被禁止的服務器可以在響應有效負載中描述該原因(如果有的話)。

如果請求中提供了身份驗證憑據,則服務器認為它們不足以授予訪問權限。 客戶端不應該使用相同的憑據自動重復請求。 客戶端可以使用新的或不同的憑據重復請求。 但是,出於與憑證無關的原因,可能會禁止請求。

希望“隱藏”禁止目標資源的當前存在的源服務器可以以狀態代碼404(未找到)來響應。

https://tools.ietf.org/html/rfc7231#section-6.5.3

最佳做法是403 ,但這樣做會暴露用戶被阻止的事實。 如果您不想要,可以返回404 以Github為例,未經授權訪問私有回購總是返回404

暫無
暫無

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

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