티스토리 뷰

HTTP, JS

[HTTP] HTTP란 무엇일까??

안톨리니 2022. 7. 18. 08:27

Reference

  • HTTP완벽 가이드
  • 나무위키
  • mdn web docs_

 

 

인터넷이라는 정보의 바다는 우리의 현실세계와 비슷하다.

마치 우리가 간단한 생활용품을 살 때 다이소에 가듯이

인터넷에서는 우리가 특정한 정보를 찾거나 무언가를 하기 위해 특정한 사이트에 방문한다.

 

하지만 현실세계든 인터넷이든 어딘가를 방문하려면

그곳의 주소를 알아야 하지 않겠는가?

그리고 주소를 알았다고 하더라도

현실세계에서는 우리가 직접 가야 하지만

인터넷에서는 당신이 직접 갈 필요 없다.

컴퓨터를 통해 인터넷 안에 존재하는 독립적인 당신의 객체를 조종하면 된다.

 

간단한 예시를 들자면

만약 필자가 책을 사야 하는 상황이라면 브라우저 주소창에 알라딘 URL(주소)를 입력하면 된다.

알라딘 사이트의 URL(주소)를 입력하고 엔터를 누르면

이렇게 바로 알라딘 사이트로 이동하게 된다.

 

현실세계에서는 귀찮게 우리가 직접 이동해야 하지만

인터넷에서는 어딘가를 가기 위해

주소창에 주소만 입력하면 순식간에 그곳에 도착한다.

 

우리 눈에는 보이지 않지만

사실 우리가 주소창에 주소를 입력하고 그곳에 도달하기까지는

다양한 숨은 동작들이 존재한다.

 

앞으로 그 숨은 동작들에 대해 포스팅할 예정이고

오늘은 웹 동작의 가장 핵심이자 기본인

HTTP에 대해 알아보고자 한다.

 

 

 

HTTP(Hypertext Transfer Protocol)

 

HTTP는 말 그대로

하이퍼텍스트 전송 규약이다.

HTTP는 위에서 봤던 숨은 동작이 지켜야 하는 규약인데

 

하이퍼텍스트의 배경을 알면 HTML에 대해 이해하기 쉽다.

 

 

 

하이퍼 텍스트

 

하이퍼텍스트라는게 뭘까?


책을 비롯한 기존 인쇄물(문서)들을 텍스트라고 하는데

한 문서에서 다른 문서로 넘어가는 과정은 모두 선형적으로 이루어진다.

(지금 당장 책을 펴서 400페이지로 이동해보자)

 

간단하게 A에서 B로 이동하려면 A와 B사이에 있는 곳을 거쳐야 한다.

 

이번에는 우리에게 익숙한 링크를 생각해보자

https://tcitr-antoliny.tistory.com/

 

호밀밭의 파수꾼

 

tcitr-antoliny.tistory.com

이 링크를 누르게 되면 내 블로그의 메인 페이지로 바로 이동하게 된다.

 

이런 걸 인터넷을 써 본 사람이라면 누구나 알다시피 하이퍼링크라고 하는데

하이퍼링크는 텍스트를 비선형적으로 연결할 수 있다.

A에서 B를 가는데 어딘가를 거치지 않고 바로 갈 수 있다.

 

이렇게 하이퍼링크를 통해 각 텍스트를 비선형적으로 연결할 수 있는 문서를

하이퍼텍스트라고 한다.

그리고 이런 하이퍼텍스트 기반으로 연결된 문서들의 집합체를

WWW(월드 와이드 웹)라고 하는데

 

이 월드 와이드 웹이 필자가 위에서 언급했던 정보의 바다이고

그 하나하나 정보들이 하이퍼텍스트 기반(HTML)의 문서 스타일로 존재한다고 생각하면 된다.

 

이런 월드 와이드 웹이라는 바다에서 사용하는 프로토콜이 바로

HTTP(Hypertext Transfer Protocol)이다.

 

(※ 여기서 잠깐 프로토콜에 대해 설명하자면)

프로토콜은 원래 외교 분야에서 '의전'이라는 의미로 사용된다.

 

 

의전이란 한 나라의 국가 원수가 외국을 방문했을 때처럼 나라의 중요한 손님을 맞이할 때 지켜야 하는 격식이다.

-네이버 지식백과(의전)-

 

프로토콜은 말 그대로 주인과 손님 간의 행동양식에 대해 미리 정해진 약속이라고 생각하면 된다.

 

 

 


 

하이퍼텍스트와 프로토콜에 대한 의미를 알았다면

이제 HTTP의 의미에 대해 어느 정도 느낌이 올 거라고 생각한다.

 

하이퍼텍스트를 전송하기 위해서 송신자와 수신자가 서로 의사소통할 때

지켜야 하는 약속(정해진 양식의 메시지)이라고 생각하면 된다.

우리가 주소창에 어떤 값을 입력해서(송신자) 서버(수신자)로부터 어떤 데이터를 가져오려고 할 때

HTTP를 지켜서 자기가 원하는 것들을 요청해야 한다.

 

웹 브라우저(Edge, Chrome, FireFox...)가 이런 과정을 대신해주기 때문에

요청 메시지, 응답 메시지는 우리 눈에 보이지 않는다.

 

단지 실패했냐 성공했냐 두 개만 우리 눈에 보일뿐이다.

 

그렇다면

그 HTTP 요청과 HTTP 응답이 어떤 모습일지 궁금하다.

어떤 내용이 담겨서 서버에게 전달되고

이에 대해 서버는 또 어떤 내용을 담아서 클라이언트에게 전달하는지 알아봐야겠다.

 

 

 

후기

 

HTTP에 대해 공부하던 중

HTTP에 관한 주제들을 포스팅으로 쓸까 말까 고민했는데

결국은 쓰기로 했다.

 

앞으로도 HTTP에 관해서 배운 내용들을 써나갈 예정이다.

 

 

 

 

댓글
공지사항