[42seoul] ft_transcendence 바뀐 트센을 해보자 - 2편 HTTP

tpwhzla·2023년 12월 26일

42Seoul

목록 보기
13/16

트센만 남았다... 하나님 제발 트센만... 트센만...!

내가 웹 개발자가 될 거라는 생각은 해 본 적이 없는데... 백엔드는 언어 기본 익힌 후엔 HTTP 기본 / API 기본 공부하라길래...

HTTP

HTTP (HyperText Transfer Protocol)
웹에서 데이터를 교환하는데에 사용되는 기본 프로토콜이다.
클라이언트 - 서버 모델을 기반으로 작동하는데, 사용자의 브라우저 (클라이언트) 가 웹 서버에 요청을 보내면 서버는 이에 대한 응답을 보낸다.

기본 개념

클라이언트와 서버
클라이언트는 서버에 특정 자원에 대한 '요청' 을 보낸다.
서버는 요청을 처리한 후 클라이언트에 '응답' 을 반환한다.

작동 원리

URL
클라이언트는 URL을 통해 특정 자원을 요청하고, URL은 웹 상의 자원 위치를 나타낸다.

메소드(Methods)
HTTP 요청에는 다양한 메소드가 있는데, 이들은 요청의 성격을 나타낸다. 가장 흔한 메소드는 GET(자원 요청)과 POST(데이터 제출)이다.

헤더
요청 및 응답에는 헤더가 포함되어 있는데, 헤더는 메타데이터를 담고 있으며 요청의 성격, 응답의 유형, 콘텐츠 종류 등을 담고 있다.

바디
요청 또는 응답에는 데이터가 포함될 수 있는 바디가 담겨 있는데, POST 요청의 바디에는 제출할 데이터가 필요하다.

상태 코드
서버의 응답에는 상태 코드가 포함되어 있어 요청의 처리 결과를 나타낸다. '200 OK'는 성공적인 요청을, '404 Not found'는 요청한 자원을 찾을 수 없음을 나타낸다.

예시

  1. 사용자가 브라우저 (ex. chrome) 에서 URL을 입력하면, HTTP GET 요청이 서버로 전송된다.
  2. 서버는 요청을 처리하고 해당 페이지의 HTML을 응답으로 보낸다.
  3. 클라이언트(브라우저)는 받은 HTML을 해석하여 사용자에게 웹 페이지로 표시한다.

HTTP Message

HTTP는 텍스트 기반 프로토콜인데, 요청과 응답을 HTTP 메세지를 통해서 전송한다.
HTTP 메세지는 헤더와 바디로 구성되는데, 헤더에는 요청 또는 응답의 유형, 콘텐츠 유형, 콘텐츠 크기와 같은 정보가 포함된다.
바디에는 실제 콘텐츠가 포함된다.

요청의 예시

GET /index.html HTTP/1.1
Host: www.example.com

응답의 예시

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 100
아래는 html 파일 코드들

해당 응답은 200 OK의 상태 코드와 함께 index.html 파일의 콘텐츠를 함께 응답한다.

profile
DevOps / Infrastructure / Cloud Native / Platform Engineering

0개의 댓글