HTTP 통신규약에 대해 알아보겠습니다. 이 글은 MDN을 토대로 작성되었습니다.
Hyper Text Transfer Protocol
HTTP는 HTML문서, 이미지, 동영상, 텍스트와 같은 리소스를 주고 받을 수 있도록 하는 통신규약이다. 웹상의 모든 데이터 교환에 대한 것이며 클라이언트 - 서버 사이의 약속이다. 즉, 요청은 웹 브라우저쪽에서 만들어지고 응답은 서버쪽에서 만들어진다.
클라이언트와 서버는 개별적인 메세지를 교환함으로써 서로 소통한다. 요청 메세지는 클라이언트에 의해 보내지고, 응답 메세지는 서버에 의해 보내진다.
요청을 시작하는 주체는 언제나 브라우저다. 그리고 응답을 보내는 주체인 서버는 브라우저에서 보내는 요청에 대해 응답을 보낸다.
특정한 URL에 대한 하나의 웹페이지를 나타내기 위해, 브라우저는 HTML문서를 요청한다. 그리고는 파일을 파싱하고, 그 과정에서 추가적인 요청을 하게 된다. 예를 들어 CSS, javascript 등등. 그 다음 웹 브라우저는 이 모든 요소들을 조합해서 완성된 하나의 페이지를 나타내게 된다.
Http 개별 통신은 모두 독립적이다. 과저의 통신 상태를 기록하지 않는다. 서버 디자인을 간단하게 해준다.
보통 로그인과 같은, 보안상 중요한 정보를 담고 있다. 만료 기간을 정할 수 있다. 갖고 있는 건 client쪽이고, cookie나 storage에 저장한다.