HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다.
HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이기도 하다.
클라이언트-서버 프로토콜이란 (보통 웹브라우저인) 수신자 측에 의해 요청이 초기화 되는 프로토콜을 의미하며 하나의 완전한 문서는 텍스트, 레이아웃 설명, 이미지, 비디오, 스크립트 등 불러온(fetched) 하위 문서들로 재구성 된다.
클라이언트와 서버들은 (데이터 스트림과 대조적으로) 개별적인 메세지 교환에 의해 통신하게 된다.
보통 브라우저인 클라이언트에 의해 전송되는 메세지를 요청(requests)이라 부르며, 그에 대해 서버에서 응답으로 전송되는 메시지를 응답(responses)이라 부른다.
요청 : client -> server
응답 : server -> client
HTML 문서만이 HTTP 통신을 위한 유일한 정보 문서는 아니다.
Plain text로 부터 JSON 데이터 및 XML과 같은 형태의 정보도 주고 받을 수 있으며, 보통은 클라이언트가 어떤 정보를 HTML 형태로 받고 싶은지, JSON 형태로 받고 싶은지 명시해주는 경우가 많다.
HTTP 메시지는 HTTP 서버와 HTTP 클라이언트에 의해 해석이 된다.
TCP/IP를 이용하는 응용 프로토콜이다.
(컴퓨터와 컴퓨터간에 데이터를 전송 할 수 있도록 하는 장치로 인터넷이라는 거대한 통신망을 통해 원하는 정보,데이터를 주고 받는 기능을 이용하는 응용 프로토콜)
HTTP는 연결 상태를 유지하지 않는 비연결성 프로토콜이다.
(이를 보완하기 위해 Cookie와 Session이 등장하였다.)
HTTP는 연결을 유지하지 않는 프로토콜이기 때문에 요청/응답 방식으로 동작한다.
참고 링크 1 - https://velog.io/@surim014/HTTP%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
참고 링크 2 - https://developer.mozilla.org/ko/docs/Web/HTTP/Overview