HTTP(Hyper Text Transfer Protocol)은 W3(WWW)상에서 정보를 주고 받을 수 있는 프로토콜이다
(프로토콜 : 컴퓨터나 원거리 통신 장비사이에서 메세지를 주고 받는 양식과 규칙의 체계)
-위키백과-
하이퍼텍스트 전송 프로토콜(HTTP)은 HTML과 같은 하이퍼미디어 문서를 전송하기 위한 애플리케이션 레이어 프로토콜입니다. 웹 브라우저와 웹 서버간의 통신을 위해 설계되었지만 다른 목적으로도 사용할 수 있습니다. HTTP는 클라이언트가 요청을 하기 위해 연결을 연 다음 응답을 받을때 까지 대기하는 전통적인 클라이언트-서버 모델을 따릅니다. HTTP는 무상태 프로토콜이며, 서버가 두 요청 간에 어떠한 데이터(상태)도 유지하지 않습니다.
-mdn-
: 클라이언트의 요청에따른 서버에 응답에 담긴 메세지
이러한 메세지는 클라이언트의 요청에 대한 http 메시지와 데이터 요청에 대한 응답 http 메세지가 있다.
시작줄, 헤더, 본문으로 구성되어 있다.
GET https://www.abcd.com HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
Upgrade-Insecure-Requests: 1
(본문 없음)
첫줄 : 요청 메세지의 시작으로, 요청메서드/url/http버전 에대한 정보를 담고있다.
두번째 줄: 요청에 대한 정보를 담고있다.(헤더)User-Agent, Upagrade-Insecure-Requestㄴ 등등이 헤더에 해당되는데, 헤더의 종류는 굉장히 많다.
본문 : 헤더에서 한줄 띄고 시작. 본문은 요청할때 함께 보낼 데이터를 담는 부분이다. payload자리
위 요청에 따른 응답
HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 35653
Content-Type: text/html;
doctype html><....
요청에서와 마찬가지로 시작줄, 헤더, 본문으로 구성되어 있다 .
첫줄 : 버전 상태코드 상테메시지
두번째줄 : 헤더, 응답에 대한 정보를 담고있음
본문: 헤더에서 한줄 띄고 시작, 서버에 요청한 데이터를 담아서 보내줌
한줄 정리 !
http는 web상에서 정보를 주고받을수 있는 프로토콜 즉 정보를 주고받는 양식과 규칙이며, http 메세지는 클라이언트의 요청에 따른 메세지와 응답에 따른 메세지가 있다.