SweepSwift / iOS_InterviewStudy

MIT License
1 stars 0 forks source link

REST API의 장점과 단점을 설명하세요 #3

Open zeze95 opened 9 months ago

zeze95 commented 9 months ago

REST API의 장점

HTTP 프로토콜을 기반으로 하여 HTTP 프로토콜 메서드를 사용하여 CRUD가 가능하며 리소스를 다루기에 직관적인 디자인을 가지고 있습니다. 엔드포인트를 추가하여 시스템을 확장할수 있으며 서버와 클라이언트간의 분리가 되기에 독립적인 개발이 가능하며 다양한 데이터형식을 다룰수 있으나 주로 JSON과 XML형식을 사용합니다.

REST API의 단점

언더 패칭(Underfetching)과 오버 패칭(Overfetching)이 있습니다. 언더패칭은 필요한 데이터들을 얻지 못하고 부족한 경우를 말합니다. 하나의 부분을 위해 2개이상의 호출을 여러번해야하거나 불필요한 네트워크 추가요청할때 발생합니다. 오버 패칭(Overfetching)은 회원정보의 단 한부분인 닉네임을 위해 회원정보 전체를 호출해야하는 것으로 필요 이상의 과한 요청과 응답을 말합니다. 서버비 증가뿐만아니라 트래픽 증가로 ux에 악영향을 미칠수 있습니다. 이 두 단점을 보안하고자 대규모 서비스에서는 GraphQL를 도입하기도 합니다.

sojin-p commented 9 months ago

장점 : 다른 API에 비해 배우고 사용하기 쉽습니다. 단점 : 사용하기는 쉽지만, 웹 아키텍처에 익숙하지 않은 경우 다른 API보다 더 복잡할 수 있습니다.

989ksy commented 9 months ago

REST API의 단점엔 공식화된 표준규약이 존재하지 않는다는 점도 있습니다. 표준이 없기 때문에 관리가 어렵고, 결국 REST API는 관리자의 자의적 판단을 통해 관리되거나 구글과 같은 대기업이 REST API의 표준 역할을 하며 그러한 예시들을 참고하여 작성되고, 이전 사용자들이 만들어놓은 정당화된 약속들로 만들어지며 관리 되고 있습니다.

i-seo725 commented 9 months ago

REST API는 사용하기 쉽다는 강력한 장점이 있습니다. 요청할 때에도 uri만을 통해 어떠한 데이터를 요청하는지 확인하기 쉬우며 응답 값을 읽는 것만으로도 어떠한 값을 받았는지 유추가 가능합니다. 또한 HTTP 인프라를 사용하기 때문에 OS 및 시스템 환경에 영향을 받지 않고 사용할 수 있습니다. 하지만 HTTP 인프라를 이용한다는 장점으로 인해 HTTP에서 제공하는 메소드만 사용 가능하다는 한계를 가지고 있습니다. 보다 확장적인 기능을 제공하고 싶어도 HTTP 메소드의 범위를 벗어날 수는 없습니다.

andwecrawl commented 9 months ago
hwangyeri commented 9 months ago

A.

REST API 를 사용하면 외부 데이터 소스와 손쉽게 통합할 수 있으며, 서버와 클라이언트 간의 역할을 명확히 분리할 수 있습니다. 또한 데이터를 서버에 저장하고 동기화할 수 있기 때문에 사용자의 데이터를 안전하게 보관하고, 여러 기기 간에 동기화할 수 있다는 장점이 있습니다.

그러나 초기에 설계를 잘못하거나 특정 데이터를 가져오기 위해 여러 번의 요청을 하는 경우, 데이터를 효율적으로 가져오지 못할 수 있습니다. 대규모 및 복잡한 앱에서는 다수의 API EndPoint 및 버전 관리가 어려울 수 있다는 단점이 있습니다.

chaeondev commented 9 months ago

장점

단점(추가)