본문 바로가기

면접준비

Patch는 왜 RESTful API에서 잘 사용되지 않을까?

1. 관성 부족: PATCH 메서드는 리소스의 부분적인 수정을 지원합니다. 하지만 이렇게 부분적으로 수정하는 것은 API의 일관성을 해치기 쉽습니다. 서버와 클라이언트 간의 의사소통이 복잡해질 수 있고, API의 작동 방식을 이해하기 어려울 수 있습니다.

 

2. 복잡성과 위험성: PATCH는 리소스의 일부만 변경할 수 있기 때문에 리소스의 구조가 복잡하거나 중첩된 경우에는 적절한 변경이 어려울 수 있습니다. 또한 사용자가 실수로 리소스를 손상시키는 위험성도 존재합니다.

 

3. 보안 이슈: PATCH는 일부 데이터만 전송하므로, 보안 문제가 발생할 수 있습니다. 예를 들어, 클라이언트가 리소스의 중요한 부분만 수정하도록 설계되었지만, 악의적인 사용자가 해당 리소스를 손상시킬 수 있습니다.

 

4. 기타 HTTP 메서드의 충분성: 대부분의 경우 PUT 메서드를 사용하여 리소스 전체를 교체하는 것이 충분합니다. RESTful API는 대개 리소스의 전체 수정이 필요한 경우 PUT을 사용하고, 부분적인 수정이 필요한 경우 POST를 사용하는 등 다른 HTTP 메서드를 이용하여 일관성 있는 API를 설계할 수 있습니다.

 

5. 지원의 한계: 일부 서버 및 클라이언트는 PATCH 메서드를 제대로 지원하지 않을 수 있습니다. 이로 인해 호환성 문제가 발생할 수 있습니다.