본문 바로가기

면접준비

Restful API에 아는걸 적어보자.

REST는 웹 서비스 사이의 상호작용과 데이터 교환을 표현적 상태 전달 원칙에 기반하여 설계된 아키텍처 스타일입니다. RESTful API를 사용하면, 클라이언트와 서버 간에 자원을 효과적으로 관리하고, 웹 서비스를 간결하게 구현할 수 있습니다. 

 

메소드

- GET: 리소스를 조회할 때 사용

- POST: 리소스를 생성할 때 사용 ( 필요한 데이터를 받아 저장할 때 )

- PUT: 리소스를 수정하거나 업데이트하는 데 사용
- DELETE: 리소스를 삭제하는 데 사용
- PATCH: 리소스의 일부분만 수정하는 데 사용

RESTful API가 아닌 것들은 검색을 해봄.

추가적으로 새로운 메서드를 알게 됨

HEAD: GET과 유사하나, 응답 본문을 포함하지 않고, 응답 헤더만 요청할 때 사용됩니다.
OPTIONS: 서버가 어떤 HTTP 메서드를 지원하는지 조회할 때 사용됩니다. 서버는 가용한 메서드 목록을 응답 헤더에 포함시켜 반환합니다.

 

 POST 요청으로 리소스를 삭제하는 것은 RESTful이 아닙니다. 이유는 REST 원칙에 따르면, POST 메서드는 데이터 생성을 위해 사용되어야 하고, 리소스를 삭제하기 위해서는 DELETE 메서드를 사용해야하기 때문입니다.따라서, POST를 사용해 리소스를 삭제하는 경우는 RESTful이 아닌 방식이라고 볼 수 있습니다.

 

SOAP (Simple Object Access Protocol): XML기반 프로토콜로 일반적으로 웹 서비스에 사용됩니다. 통신은 많은 비즈니스 논리와 규칙에 기반하여 복잡하고 정형화되어 있습니다.
GraphQL: 페이스북이 개발한 데이터 질의 언어로 API 쿼리를 실행하여 필요한 데이터만 가져올 수 있으며, 클라이언트가 필요한 데이터의 모양을 결정할 수 있어 효율적인 작업이 가능합니다.
gRPC: 구글이 개발한 원격 프로시저 호출(RPC) 기반 프로토콜로, 서버와 클라이언트 사이에 강력한 형식 지정 및 이진 통신을 제공합니다. 이로 인해 높은 성능과 낮은 지연 시간이 보장됩니다.