언더페칭(Underfetching)
과 오버페칭(Overfetching)
은 RESTful API에서 클라이언트와 서버 간 데이터 통신에서 발생할 수 있는 성능 관련 문제를 설명하는 용어입니다.
언더페칭 (Underfetching):
언더페칭은 클라이언트가 필요한 데이터를 한 번의 요청으로 가져올 수 없어 여러 번의 추가 요청이 필요한 상황을 가리킵니다.
예를 들어, 클라이언트가 사용자의 프로필을 표시하기 위해 "/users" 엔드포인트에 요청을 보내면 서버는 사용자의 목록을 반환할 수 있지만,
클라이언트는 각 사용자의 프로필 정보를 표시하기 위해 추가적인 요청을 보내야 합니다.
이 경우, 필요한 데이터를 가져오기 위해 여러 번의 요청이 필요하므로 성능 저하가 발생할 수 있습니다.
오버페칭 (Overfetching):
오버페칭은 클라이언트가 필요로하지 않는 추가 데이터까지 서버로부터 받아오는 상황을 가리킵니다.
예를 들어, 클라이언트가 "/users" 엔드포인트에 요청하여 사용자 목록을 받을 때,
서버는 각 사용자의 프로필 정보뿐만 아니라 사용자의 게시물, 주소 등 추가 정보도 함께 반환하는 경우가 있습니다.
그러나 클라이언트가 이러한 추가 정보를 필요로하지 않는 경우, 불필요한 데이터를 받아오므로 네트워크 사용량과 처리 시간이 낭비될 수 있습니다.
언더페칭과 오버페칭은 클라이언트와 서버 간의 데이터 통신에서 발생하는 비효율성을 가리키는 개념으로,
효율적인 API 디자인과 데이터 요청의 최적화를 통해 이러한 문제를 해결할 수 있습니다.