HTTP에 대해 알아보기

programming·2023년 2월 3일
0
post-thumbnail

HTTP란?

  • 데이터를 주고 받는 양식을 정의한 "통신 규약"중 하나가 HTTP. (통신 규약: Protocol)
  • 매우 범용적인 양식을 가지고 있어 전 세계에서 제일 널리 쓰이는 통신 규약.
  • 여기서 말하는 통신 규약이란, 컴퓨터끼리 데이터를 주고 받을때 정해둔 약속을 의미.
    • 비유를 하자면,
      • 내가 친구에게 한국어로 말을 걸면 친구가 내 말을 한국어로 이해하듯이, 갑자기 내가 독일어나 불어로 말한다면? -> 알아 듣지 못함.
      • 혹은 내가 같은 한국말로 말하더라도 친구가 잘 알고 있던 표준어가 아닌, 우리가 모르는 아주 작은 어느 지방에서만 사용하는 이해하기 난해한 사투리를 사용한다면? ->알아 듣지 못함.
    • 이렇듯이 HTTP라는 통신 규약을 이용하여 서버나 클라이언트(브라우저)끼리 의사 소통을 할 수 있게 된다.
  • 현대에 존재하는 대부분의 웹 서버가 HTTP를 기반으로 데이터를 주고 받는다.
    또한 모든 브라우저는 HTTP 프로토콜을 기본으로 지원하기 때문에 매일 HTTP를 이용하는 셈이 된다.

여기서 오해하면 안되는 포인트!

우리가 ""을 통해 의사 표현을 할 수 있듯이 모든 컴퓨터는 “네트워크”를 통해 의사 표현을 할 수 있다.

현실 세계에서 “말”은 의사 표현의 수단이며, “언어”(ex. 한국어)는 의사 표현의 방법이다.

그리고 디지털 세상에서는 “네트워크”가 의사 표현의 수단이고, “통신 규약(ex. HTTP)”이 의사 표현의 방법이다.

의사 표현의 수단: (현실 세상) ↔ (디지털 세상) 네트워크
의사 표현의 방법: (현실 세상) 언어 ↔ (디지털 세상) 통신 규약

어떻게 HTTP로 데이터를 주고 받을까?

  • HTTP에서는 언제나 Request, Response라는 개념이 존재한다.
  • 서버와 브라우저의 관계로 가볍게 말해보면 아래와 같이 동작한다.
    1. 브라우저는 서버에게 자신이 원하는 페이지(URL 등의 정보)를 요구(Request)한다.
    2. 서버는 브라우저가 원하는 페이지가 있는지 확인하고, 있다면 해당 페이지에 대한 데이터를 반환(Response)해준다. 없다면 없는 페이지에 대한 데이터를 반환한다.
      (일반적인 웹 서버 기준)
    3. 브라우저는 서버에게 전달 받은 데이터를 기반으로 브라우저에 그려준다.
  • 그리고 위와 같은 사례에서 "데이터"는 어떠한 데이터든 주고 받는게 가능하다.

웹 서버란?

  • 웹서버는 인터넷을 통해 HTTP를 이용하여 웹상에서 클라이언트의 요청을 응답해주는 통신을 하는 컴퓨터 또는 프로그램이라고 생각하면 된다.
  • 오늘날 우리가 자주 사용하는 이메일이나 웹사이트 등 대부분의 인터넷 사용은 웹서버를 통해 우리가 사용할 수 있게 되었다.

웹 서버의 기본 동작 원리

  • 브라우저를 통해 HTTP request로 웹사이트를 웹서버에 요청한다. 이후 웹서버는 요청을 승인하고 HTTP response를 통해 웹사이트 데이터를 브라우저에 전송한다. 마지막으로 브라우저는 서버에서 받아온 데이터를 이용해 웹사이트를 브라우저에 그려내는 일을 한다.
  • 기본적으로 브라우저가 웹서버에 요청을 할때는 항상 GET method로 요청하게 된다.
profile
개발 기록 일지

0개의 댓글