클라이언트와 서버 간의 통신을 알아보려면, 먼저 프로토콜이라는 개념을 이해해야 한다.
프로토콜은 통신 규약, 즉 약속이다.
통신을 하기 위해서는 꼭 지켜야 하는 약속이 몇가지 존재한다.
웹 애플리케이션 아키텍처에서는 클라이언트와 서버가 서로 HTTP라는 프로토콜을 이용해서 서로 대화를 나누며, HTTP를 이용해 주고받는 메시지는 "HTTP 메시지"라고 부른다.
HTTP 메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식이다.
메시지 타입은 두 가지가 있는데
1. 요청(request)은 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 메시지이며,
2.응답(response)은 요청에 대한 서버의 답변이다.
HTTP 메시지의 시작 줄과 HTTP 헤더를 묶어서 요청 헤드(head)라고 부르며, 이와 반대로 HTTP 메시지의 페이로드는 본문(body)이라고 한다.
API는 Application Programming Interface의 약자이며, Interface의 사전적 의미는 "의사소통이 가능" 하도록 만들어진 "접점"을 의미한다.
서버는 클라이언트에게 리소스를 잘 활용할 수 있도록 인터페이스를 제공하는데, 이것이 API이다.
보통 인터넷에 있는 데이터를 요청할 때에는 HTTP라는 프로토콜을 사용하며, 주소(URL, URI)를 통해 접근할 수 있다.
파라미터를 사용하기 위해 물음표(?)와 & 기호를 사용하며, 영문 위키피디아의 Query String 문서를 참고하자.
HTTP 요청에는 메소드라는 것이 존재한다.
CRUD 각각의 행동과 일치하는 HTTP 메소드의 종류가 존재한다.
GET, POST, PUT, PATCH, DELETE
참조 : MDN
HTTP는 특정 상태를 담고 있지 않으며, 이전 요청이나 다음 요청을 기억하지 않음
참조 : MDN