hayu's 개발 일지

[TIL]240222 HTTP 본문

IT 개념 정리 & ETC

[TIL]240222 HTTP

hayu00 2024. 2. 22. 21:28

HTTP (HyperText Transfer Protocol)란?

- 데이터를 주고 받는 양식을 정의한 "통신 규약" 중 하나가 HTTP 이다. 

- 범용적인 양식을 가지고 있어 전 세계에서 제일 널리 쓰인다.

- 통신 규약이란, 컴퓨터끼리 데이터를 주고 받을 때 정해둔 약속을 말한다.

예시 사진

 

- 한국 사람과 외국 사람이 말이 통하지 않는 것처럼, 컴퓨터끼리 데이터를 주고 받을 때 정해진 규칙없이 요청 방식이 다르다면 소통에 문제가 생긴다.

- 따라서 현재 이용되는 웹 서버가 HTTP 를 기반으로 정해진 규칙에 맞게 데이터를 주고 받는다.

- 모든 브라우저는 HTTP 프로토콜을 기본으로 지원하기 때문에 우리는 매일 HTTP 를 이용하는 셈이다. 

 

HTTP 로 데이터 주고 받는 법

- HTTP 에서는 언제가 Request, Response 라는 개념이 존재한다.

HTTP 로 데이터 주고 받는 예

 

서버와 브라우저의 관계로 말해보면 

- 브라우저는 서버에게 자신이 원하는 페이지를 요구(Request)한다.

- 서버는 브라우저가 원하는 페이지가 있는지 확인하고, 있다면 해당 페이지에 대한 데이터를 실어 응답(Response) 해준다. 없다면 없는 페이지에 대한 데티어 반환.

- 브라우저는 서버에게 전달 받은 데이터를 기반으로 브라우저에 그려준다.

- 이런 사례에서 "데이터"는 어떠한 데이터든 주고 받는게 가능하다. 

 

HTTP 구성 요소

 

 Method (호출/요청 방식)

- GET : 이름 그대로 어떤 리소스를 얻을 때 사용된다. 브라우저의 주소창에 URL 을 입력하면 GET 메서드를 사용해서 서버에 요청을 보낸다. 

- POST : 웹서버에 데이터를 게시할 때 사용하는게 일반적이다. (예. 회원가입, 게시글 작성, 댓글 작성 등) 

- 그 외 DELETE 등의 여러 요청 방식이 존재한다.

- 가장 대표적인 요정 방식이 GET 과 POST 이다.

Header(추가 데이터, 메타 데이터)

Payload(데이터, 실제 데이터)