배경 : Foos 컬렉션에 대한 정보를 표시하는 웹 사이트가 있다고 가정 해 보겠습니다.잘못된 방법을 사용하고 자원이 존재하는지 모르겠다면 404 또는 405로 응답해야합니까?
https://example.com/foo/{foo-id}
나는 단지 respont 요청을 GET 할 수 - 당신은 POST 또는 PUT 또는 푸를 삭제할 수 없습니다 :의 URL :의 양식에 있습니다. 특정 ID가 실제 Foo에 해당하는지 확인하는 것은 비용이 많이 드는 작업이므로 피하고 싶습니다.
질문 :/foo/12345
에 대한 POST 요청에 어떻게 대응합니까? 이상적인 것은 Foo가 존재하는지 확인하는 것입니다. 그렇다면 405 (Method Not Allowed)를 보냅니다. 그렇지 않은 경우 404 (찾을 수 없음)를 보냅니다. 그러나 Foo가 존재 하는지를 확인하는 것은 비용이 많이 들며 올바른 방법을 사용하기조차 힘든 바보 같은 사람에게는 그 에너지를 낭비하고 싶지 않습니다.
은 그래서 나는 두 가지 옵션이 왼쪽 오전 :
- 항상 실제로 뭔가를있을 수 있습니다에도 불구하고, (404)로 응답.
- 거기에는 아무 것도 없을지라도 항상 405로 응답하며 올바른 방법으로 요청을 다시 보내면 사용자 에이전트가 404로 인사합니다.
어떤 옵션이 HTTP 표준과 거의 일치합니까? 그들 중 누구라도 표준에 전혀 의지하고 있습니까?