포스트

HTTP 및 HTTPS와 WEB, DNS, Domain, BBS와의 관계

What is HTTP?


🔔 Introduction

📌 HTTP란

  • HTTP가 무엇이냐는 질문에 가장 잘 어울리는 답변은 “인터넷이요”라고 생각됩니다.
  • 우리가 수시로 접속하는 인터넷 주소 앞에는 보통 HTTPS로 시작되기 때문입니다.
  • HTTP라는 단어는 분명 익숙한데 HTTP를 정의하기란 쉽지 않습니다.
  • HTTP가 아닌 인터넷 환경은 상상하기 어렵기 때문인 것 같습니다.
  • 이번 글에는 초심자도 이해할 수 있도록 HTTP가 무엇인지 작성하였습니다.
  • 그리고 결론 부분에는 HTTP와 WEB 1.0 ~ 3.0의 관계에 대한 내용을 간략하게 작성하였습니다.


🔔 Step 1. 문자적 접근

📌 HTTP 뜻

  • HTTP는 Hypertext Transfer Protocol의 축약어입니다.
  • Hypertext는 ‘최고의 글’이라는 의미로 Hyper 및 Text의 합성어입니다.
  • Transfer는 ‘이동’이라는 뜻이 있습니다.
  • Protocol은 ‘약속’, ‘규약’이라는 의미가 있습니다.
  • 즉, HTTP는 Hypertext라는 것의 이동에 필요한 하나의 약속을 의미합니다.


🔔 Step 2. 과거 인터넷 환경의 발전

📌 HTTP의 탄생 배경

  • 초기 웹은 과학자들이 연구 결과를 쉽게 공유하는 것이 목적이었습니다.
  • 이 과정에서 네트워크 상에서 링크를 이용한 기능이 필요하였고 HTTP가 고안되었습니다.

📌 초기 웹의 형태 및 한계

  • HTTP가 보급되기 시작한 1990년대 초기 웹 페이지는 주로 텍스트 문서로 이루어져 있었습니다.
  • 즉, 웹 페이지의 구성이 Hypertext가 아닌 Text로 되어 있었습니다.
  • HTTP가 있기 전에는 모뎀 및 통신 케이블로 접근이 가능했던 BBS가 있었습니다.
  • BBS는 파란색 또는 검은색 배경에 있는 흰색 글씨로 구성되었으며 아래와 같은 모습이었습니다.
figure
과거 나우누리 웹 페이지

📌 접속 방식의 차이 : HTTP vs BBS

  • 당시 BBS (Bulletin Board System) 서버에 접속하는 방식은 다소 복잡하였습니다.
  • 사용자는 BBS에 접속하기 위해 관련 전화번호를 직접 입력해야 됐기 때문입니다.
  • HTTP 네트워크에 접속하는 방식은 현재(2024년)와 마찬가지로 ISP를 통합니다.
  • 사용자는 웹 브라우저를 통해 웹 서버에 접근 요청을 보낸 후 웹 페이지에 접속할 수 있습니다.
  • 게다가 모뎀, 이더넷, 광섬유 등의 유선 접속만이 아닌 무선 접속도 가능해졌습니다.


🔔 Step 3. HTTP & HTTPS

📌 HTTP 0.9

  • 1991년에 출시된 HTTP로 기본적인 프로토콜이었습니다.
  • 페이지 전체가 순수하게 텍스트 형태로만 전송되었고 GET 요청만 처리할 수 있었습니다.

📌 HTTP 1.0

  • GET만이 아닌 HTTP 메소드 및 상태 코드가 추가되었습니다.
  • 웹 서버와 사용자 간의 통신이 보다 명확해졌습니다.

📌 HTTP 1.1

  • 웹 트래픽을 효율적으로 처리하기 위한 개선 사항을 도입시켰습니다.
  • 캐시, 인증, 지속 연결 등의 기능이 추가되었습니다.

📌 HTTP 2

  • 2015년에 출시되었으며 성능 향상을 위해 설계되었습니다.
  • 서버 푸시, 헤더 압축 등의 기능이 추가되었습니다.
  • 한 번의 연결을 통해 여러 요청과 응답을 동시에 처리하는 멀티플렉싱 기능이 추가되었습니다.

📌 HTTP 3

  • 패킷 손실 시에도 연결 설정과 복구를 빠르게 하는 UDP 기반의 프로토콜이 추가되었습니다.

📌 HTTPS

  • HTTPS는 Hypertext Transfer Protocol Secure의 축약어입니다.
  • HTTPS는 명칭대로 개인 정보 보호 및 데이터 보안을 위해 개발되었습니다.
  • HTTPS는 SSL (Secure Sockets Layer) 또는 TLS (Transport Layer Security) 프로토콜을 사용합니다.
  • 이들 프로토콜의 기능은 데이터를 암호화하는 것으로 해킹 등으로부터 보호하는 역할을 합니다.
  • 한편 구글의 Chrome은 2018년부터 HTTP 사이트를 안전하지 않은 사이트로 표시하였습니다.
figure
초기 HTTP 웹 사이트 (출처 : history.com)


🔔 Step 4. HTTP & Browser

📌 Web Browser

  • 웹 브라우저는 WWW (World Wide Web)에서 정보를 검색하고 보여주는 응용프로그램입니다.
  • 사용자는 URL을 입력하여 웹 페이지에 접근할 수 있고 이 과정에서 프로토콜이 사용됩니다.
  • 사용자가 URL을 입력하면 브라우저는 프로토콜을 통해 웹 서버에게 웹 페이지를 요청합니다.
  • 즉, 웹 브라우저는 프로토콜을 기반으로 사용자와 웹 서버를 연결하는 역할을 합니다.

📌 Web Browser & HTTPS

  • 사용자는 인터넷에 접속하기 위해 일반적으로 웹 브라우저를 이용합니다.
  • 그런데 웹 브라우저를 통한 인터넷 접속 과정에서 데이터 유실이 발생될 수 있습니다.
  • 데이터 유실이나 해킹 공격을 방지하기 위해서는 HTTPS를 이용하는 것이 보다 안전합니다.
  • 말씀드렸듯이 HTTPS에는 HTTP와 달리 SSL 또는 TLS 기능이 탑재되어 있기 때문입니다.
  • 이러한 이유로 크롬 등의 브라우저는 HTTPS가 아닌 사이트에 대한 접근을 어렵게 하였습니다.
  • 다음 블로그 글(링크)에는 브라우저와 관련된 자세한 내용을 작성하였습니다.


🔔 Step 5. HTTP & DNS

📌 DNS & Web Browser

  • 웹 브라우저가 웹 페이지를 요청하는 서버 중 하나는 DNS 서버입니다.
  • DNS는 Domain Name Server의 축약어이며 인터넷의 연락처와 같은 역할을 합니다.
  • DNS의 역할은 도메인 이름을 컴퓨터가 이해할 수 있는 IP 주소로 변환하는 것입니다.
  • 도메인 이름의 예시는 ‘www.google.com’이며 IP 주소의 예시는 ‘210.94.0.73’입니다.
  • 참고로 도메인명과 IP 주소의 변환 과정을 이름 해석(Name Resoultion)이라고 합니다.

📌 DNS & HTTP

  • 사용자가 브라우저에 URL을 입력합니다.
  • 이후 HTTP는 해당 URL의 도메인명을 DNS 서버에 조회하여 IP 주소를 찾습니다.
  • 이후 HTTP는 해당 IP 주소를 이용하여 웹 서버에 접속하고 웹 페이지를 요청합니다.

📌 DNS & HTTPS

  • HTTPS에는 SSL/TLS 프로토콜 기능이 포함된다고 말씀드렸습니다.
  • SSL/TLS는 웹 서버가 제공하는 인증서를 검증합니다.
  • 이 과정에서 웹 서버의 인증서에 도메인 이름이 포함되어 있어야 승인됩니다.
  • 이를 SSL/TSL 핸드셰이크라고 하고 핸드셰이크에는 세부적인 검증 과정이 포함됩니다.
  • 다음 블로그 글(링크)에는 DNS와 관련된 자세한 내용을 작성하였습니다.


🔔 Conclusion

📌 WEB의 과거와 미래

  • 프로토콜은 WEB이라는 거대한 네트워크 안에서 데이터를 교환하는 데 필요한 필수 기능입니다.
  • WEB의 세대 발전과 HTTP는 초창기부터 밀접하게 관련되어 있었습니다.
  • WEB은 1990년대 초 1.0을 시작으로 현재 3.0까지 발전되었습니다.
  • 그리고 WEB 세대를 막론하고 대부분의 웹 사이트는 현재 계속 발전중에 있습니다.

📌 WEB 1.0 : 1990년대 초 ~ 2000년대 초

  • ‘정보형 웹’으로 대부분 초기 형태의 정적인 웹 페이지로 구성되어 있었습니다.
  • 사용자는 정보를 검색하고 읽을 수는 있었지만 사이트와의 상호작용(UI)은 제한적이었습니다.
  • 이때의 HTTP는 단순한 HTML 문서를 전송하는 데 사용되었습니다.
  • WEB 1.0의 당시 예시로는 Yahoo, Altavista, GeoCities, America Online 등이 있습니다.

📌 WEB 2.0 : 2000년대 중반 ~ 현재(2024년)

  • ‘참여형 웹’으로 인터넷 이용자들끼리 정보를 주고 받을 수 있는 형태로 제공되는 웹입니다.
  • 현재도 활발하게 사용되는 것으로 SNS, 블로그 등이 포함됩니다.
  • WEB 2.0을 시점으로 사용자와 소프트웨어의 상호작용(UI)이 폭발적으로 증가하였습니다.
  • WEB 2.0의 예시로는 Youtube, Naver, Instagram, GitHub 등이 있습니다.

📌 WEB 3.0 : 2010년대 중반 ~ 현재(2024년)

  • ‘지능형 웹’으로 전문가의 영역이었던 고도의 기술에 일반 개인도 접근할 수 있게 되었습니다.
  • WEB 3.0을 대표할 수 있는 기술에는 인공지능(AI), 블록체인 기술 등입니다.
  • WEB 3.0은 데이터의 연결성 및 분상형 네트워크의 꾸준한 발전으로 도래하였습니다.
  • WEB 3.0의 예시로는 Google Assistant, Apple Siri, Naver CLOVA 등이 있습니다.




이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
<>