HTTP란?

조은·2022년 10월 7일

HTTP란?

HTTP는 Hyper Text Transfer Protocol의 약자로,

인터넷에서 데이터를 주고받을 수 있는 프로토콜(명세, 규칙) 이다.


모든 프로그램이 이 프로토콜에 맞춰 개발해서 서로 정보를 교환할 수 있게 된 것이다.
( 일종의 국룰 이라고 생각하면 쉽다.)

웹에서 브라우저와 서버 간에 데이터를 주고받기 위한 방식으로 HTTP 프로토콜을 사용하고 있다.

브라우저에서 서버에 데이터를 달라고 요청할 때, 요청에 대한 정보를 담아 서버로 보낸다.

=> 이런 정보가 담긴 메시지를 HTTP 메시지라고 한다.

HTTP 메시지는 시작줄, 헤더, 본문으로 구성된다.
실제 요청 HTTP 메시지를 보자.

GET https://www.zerocho.com HTTP/1.1 시작줄
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ... // 헤더
Upgrade-Insecure-Requests: 1
// (본문 없음)

시작줄의 처음에 나오는 GET은 HTTP 메서드이다.
그 다음은 헤더,
저 메시지에서는 단순한 주소로만 요청을 보내고 있기 때문에 데이터를 담고 있지 않다.
따라서 본문이 비어있다.

응답은 다음과 같이 온다.

HTTP/1.1 200 OK 	// 시작줄
Connection: keep-alive // 헤더
Content-Encoding: gzip
Content-Length: 35653
Content-Type: text/html;

// 본문
<!DOCTYPE html>
<html lang="ko" data-reactroot=""><head>
<title...>

첫 줄은 버전 상태코드 상태메시지로 구성된다. 200은 성공적인 요청임을 의미한다.
두 번째 줄은 헤더이다.
응답에는 보통 본문이 있다.
응답 메시지에는 요청받은 데이터를 담아서 보내주기 때문이다.

이 응답 메시지에 HTML이 담겨있다.
브라우저는 서버로부터 응답 HTML을 받아 화면에 랜더링하는 것이다.

   
profile
끄적끄적....

0개의 댓글