API
API는 어플리케이션 프로그래밍 인터페이스의 약자로 응용프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만드는 인터페이스를 뜻합니다.
WEB API
웹서버 또는 웹 브라우저를 위한 어플리케이션 프로그래밍 인터페이스입니다. HTTP서비스이고, 다양한 클라이언트에서 접근이 가능하도록 설계되어있습니다. WEB환경을 통해 제공되는 CRUD인터페이스를 제공합니다.
REST
자원을 URI로 표시히고 해당 자원의 상태를 주고받는 것을 의미합니다. REST의 구성요소는 자원, 행위 표현으로 구성됩니다.
RESTful
- REST를 REST답게 쓰기 위한 방법으로 이해하기 쉬운 REST API를 만드는것이 목적입니다. 행위는 HTTP 메소드로 나타내고, URI에는 자원의 계층적 정보만 들어가야 합니다.
URL / URI
- URL
- 프로토콜 : http, https, ftp 등
- 호스트네임 : 도메인 혹은 IP
- URL path : 서버컴퓨터에서 클라이언트가 요청한 파일 디렉토리
- 쿼리 : 추가 질문사항
- URI
→ URL은 서버 컴퓨터에서 클라이언트가 요청한 파일의 디렉토리를 나타내지만 URI는 자원의 고유식별자 값까지 포함합니다.
HTTP 응답코드
2xx : 응답성공
- 200 : 정상
- 201 : 생성작업에 대한 성공 코드
- 204 : 요청은 성공했으나 응답할 콘텐츠가 없는 경우
3xx : 리다이렉션
- 301 : 클라이언트가 요청한 리소스에 대한 URI가 변경되었을때 사용
- 302 : 301과 같으나 임시적인 주소변경일 때 사용
- 304 : 캐시페이지를 그대로 사용할 경우 사용
- 307 : 임시페이지로 리다이렉트
4xx : 클라이언트 오류
- 400 : 잘못된 요청을 보낸 경우(클라이언트가)
- 401 : 권한이 없는경우
- 403 : 금지된 페이지에 대한 접속시도일 경우
- 404 : 페이지를 찾을 수 없는 경우
- 408 : 요청시간 초과
- 409 : 요청의 중복처리로 인한 오류발생
5xx : 서버오류
- 501 : 해당 요청을 처리하는 기능이 만들어지지 않음
- 502 : 서버로 가는 요청이 중간에서 유실됨
- 503 : 서버가 터졌거나 유지보수중일 경우
- 504 : 서버 게이트웨이에 문제가 생겨 시간초과된 경우
- 505 : HTTP 버전 불일치로 인한 요청처리 불가코드