認証されたクライアントによってのみ表現を取得する必要があるRESTfulリソースがあります。認証されていないクライアントがGETリクエストを行った場合、401が返されます。
一方、認証されていないクライアントがリソースが存在するかどうかを判断できるようにしたいと思います。この場合、リソースが存在する場合はHEADリクエストが200を返し、存在しない場合は404を返すことを検討しています。
RFC 2616は、セクション9.4のHEADリクエストについて次のように述べています。
HEADリクエストに応答してHTTPヘッダーに含まれるメタ情報は、GETリクエストに応答して送信される情報と同一である必要があります。
このアプローチは適切にRESTfulと見なされますか?
別の方法として、GETおよびHEADリクエストで、存在しないリソースの場合は404を返し、リクエストが存在するがクライアントに資格がない場合は401を返すようにすることができます。