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
HTTP 메시지
HTTP 요청과 응답은 텍스트 형식으로 전송되며 다음과 같이 구성됨
시작 라인 : HTTP 요청 또는 응답 내용이 있으며 항상 한 줄임
헤더 : HTTP 전송에 필요한 metadata가 있음
빈 라인 : 헤더의 끝을 알리는 빈 줄, 헤더가 모두 전송되었음을 뜻함
본문 : 실제 전송하는 데이터가 담겨져 있음
'코딩 자율학습단 > 학습 일지' 카테고리의 다른 글
[DAY 12] 컨트롤러 쪼개기 : 서비스 계층 구현과 트랜잭션 (0) | 2024.08.17 |
---|---|
[DAY 11] REST API 구현 (0) | 2024.08.14 |
[DAY 9] CRUD와 SQL 쿼리 (0) | 2024.08.08 |
[DAY 8] 게시판 CRUD : Delete (0) | 2024.08.08 |
[DAY 7] 게시판 CRUD : Update - form 태그에서 PATCH 메서드 이용하는 방법 / Lombok 인식 에러 고치기 (0) | 2024.08.07 |