API(Application Programming Interface)
- 특정 사이트 에서 특정 데이터를 공유할 경우 어떤 방식으로 요청해야 어떤 데이터를 받을수 있는지 등의 통신 규격을 말함
- API를 호출하여 파일 제어, 데이터요청 등의 기능을 수행할수있게 도와주는 UI
- 서버와 데이터베이스에 대한 출입구 역활로 허용된 사람들에게만 접근성 부여가능(OpenAPI도 있음)
- API는 개발자가 특정 프로그램에서 제공하는 규격을 이용하여 응용프로그램을 제어하고 구축
REST API
- REST API : REST는 자원, 행위, 표현 등으로 구성된 API아키텍쳐 이며 uri를 통해 자원을 명시하고 get, post, put, del등의 메소드를 통해 해당 자원의 행위를 지정하며 코드의 재사용성 및
프론트엔드와 백엔드의 완전한분업이 가능해진다
REST API 구성
- URI는 정보의 자원을 표현해야한다
- 자원에 대한 행위는 HTTP Method로 표현한다
REST API 메소드
- GET : 클라이언트가 GET요청시 URI와 Header에만 데이터를 담을수 있기에 크기가 제한적이며 URI에 포함된 데이터는 그대로 노출된다 대신 캐싱이 간단하므로 노출되어도 상관없거나 단순 조회시에 사용하는게 좋다 즉 데이터의 변화가 일어나지 않는 경우에 사용한다
- POST : 데이터를 URI, Header, Body에 담아서 전달 가능하므로 GET보다 큰 데이터를 전송할수 있으며 일반 사용자에게 데이터가 노출되지 않기에 안정적으로 데이터를 전송할수 있다. 서버상에서 무언가 변경하거나 업데이트시에 사용한다 POST는 캐시되지 않으며 브라우저에 기록되지 않는다
- PUT : Update
- Delete : 삭제
REST API and API
REST API와 API는 서로 다른 개념이지만, 비슷한 개념이기도 합니다. REST API는 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 것이고, API는 응용프로그램을 제어하고 구축하기 위한 개발자가 제공하는 규격입니다.
REST API와 API는 모두 서버와 클라이언트 간의 통신을 위한 규격이기 때문에 공통점이 있습니다. 특히, API는 출입구 역할로 허용된 사람들에게만 접근성을 부여할 수 있는데, 이러한 특징은 REST API에서도 동일하게 적용됩니다.
REST API는 자원, 행위, 표현 등으로 구성된 API 아키텍처입니다. 이 아키텍처를 사용하면 URI를 통해 자원을 명시하고 GET, POST, PUT, DELETE 등의 메소드를 통해 해당 자원의 행위를 지정할 수 있습니다. 이렇게 REST API를 사용하면 코드의 재사용성과 프론트엔드와 백엔드의 완전한 분업이 가능해집니다.
API도 REST API와 마찬가지로 응용프로그램을 제어하고 구축하기 위한 규격입니다. API는 특정 프로그램에서 제공하는 규격을 이용하여 응용프로그램을 제어하고 구축할 수 있게 도와줍니다. 또한, 서버와 데이터베이스에 대한 출입구 역할로 허용된 사람들에게만 접근성을 부여할 수 있습니다.