HTTP(Hypertext Transfer Protocol)
- Web에서 서버/클라이언트 간의 통신 방법을 정한 것
- 클라이언트는 서버로 요청을 보내는 대상
- 서버는 클라이언트가 요청을 보내기 전까지 대응X
- 서버와 클라이언트 사이에는 무수히 많은 요소가 존재
HTTP Message
- 서버 주소, 요청 메소드, 상태 코드, target path, 헤더 정보, 바디 정보 등이 포함
- 요청 메시지, 응답 메시지의 모양이 다름
- HTTP/1.1 메시지는 사람이 읽을 수 있음
- 콘텐츠, 인증, 쿠키, 캐시 등 서버와 클라이언트 간 통신 시 필요한 정보를 포함
- 클라이언트 요청 시, 서버 응답 시 모두 헤더에 정보를 담을 수 있음
HTTP Status
- HTTP 요청 시, 클라이언트는 요청의 결과에 대한 상태 정보를 얻음
- 숫자 코드(200, 400, 500 등)와 OK, NOT FOUND 등의 텍스트로 이루어짐
- 코드를 이용해 각 결과에 해당하는 행위를 할 수 있음
요청 메소드
- 클라이언트에서 서버로 요청 시, 요청 메소드로 특정 요청에 대한 동작을 정의
GET
, POST
, PUT
, PATCH
, DELETE
, OPTIONS
, CONNECT
, TRACE
등이 규정됨
REST API(Representational State Transfer API)
- API : 사용자가 특정 기능을 사용할 수 있게 제공하는 함수
- REST API : HTTP 요청 메소드에 응하는 서버 API와 클라이언트 간 통신의 구조가 지켜야 할 좋은 방법을 명시한 것
- 요청 메소드의 의미, URI 설계, 클라이언트의 상태에 대한 동작 등을 정의
GET
: 리소스 정보를 얻음
POST
: 리소스 생성
PUT
: 리소스 생성 및 업데이트
DELETE
: 리소스 제거