코딩 자율학습단/학습 일지

[DAY 10] REST API와 JSON

young604 2024. 8. 9. 18:09
728x90

REST API

서버의 자원을 클라이언트에 구애받지 않고 사용할 수 있게 하는 설계 방식

HTTP 요청에 대한 응답으로 서버의 자원을 반환하는데, 특정 클라이언트에 종속되지 않도록 데이터 형식(XML, JSON 등)으로 반환하게 됨.

- HTTP URI 를 통해 자원을 명시,

- HTTP Method(post, get, put, patch, delete)를 통해

- 해당 자원(uri)에 대한 crud 연산을 적용하는 것

HTTP 상태 코드

API 요청을 보내면 HTTP 상태 코드를 통해 요청이 성공했는지 실패했는지 알 수 있음

1XX: Informational(정보 제공) : 임시 응답, 현재 클라이언트의 요청까지는 처리

2XX: Success(성공) : 클라이언트의 요청이 서버에서 성공적으로 처리

3XX: Redirection(리다이렉션) : 완전한 처리를 위해서 추가 동작이 필요한 경우입니다. 주로 서버의 주소 또는 요청한 URI의 웹 문서가 이동되었으니 그 주소로 다시 시도를 뜻함.

4XX: Client Error(클라이언트 에러) : 없는 페이지를 요청하는 등 클라이언트의 요청 메시지 내용이 잘못된 경우

5XX: Server Error(서버 에러) : 서버 사정으로 메시지 처리에 문제가 발생한 경우, 서버의 부하, DB 처리 과정 오류, 서버에서 익셉션이 발생하여 요청에 대해 수행하지 못함.

https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml

 

Hypertext Transfer Protocol (HTTP) Status Code Registry

 

www.iana.org

HTTP 메시지

위키백과 참고

HTTP 요청과 응답은 텍스트 형식으로 전송되며 다음과 같이 구성됨

시작 라인 : HTTP 요청 또는 응답 내용이 있으며 항상 한 줄임

헤더 : HTTP 전송에 필요한 metadata가 있음

빈 라인 : 헤더의 끝을 알리는 빈 줄, 헤더가 모두 전송되었음을 뜻함

본문 : 실제 전송하는 데이터가 담겨져 있음

728x90