[英]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(未找到)來響應。
最佳做法是403
,但這樣做會暴露用戶被阻止的事實。 如果您不想要,可以返回404
。 以Github為例,未經授權訪問私有回購總是返回404
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.