월드 와이드 웹

최근 편집: 2022년 12월 30일 (금) 23:54

WWW는 월드 와이드 웹(World Wide Web)의 약자로, 우리가 흔히 인터넷 또는 웹이라고 부르는 전송방식이다. 다만 인터넷은 원래 WWW를 표현하는 이름이 아니라 더 큰 개념을 설명하는 이름이며, Internet Explorer의 영향으로 WWW를 인터넷으로 부르고 있다. 기본적으로 WWW를 사용하기 위해서 인터넷 익스플로러, 파이어폭스, 사파리, 오페라, 크롬, 엣지 등의 웹 브라우저를 사용하며, 규약으로는 보통 HTTP 또는 HTTPS를 사용한다.

CERN 소속 과학자이자 공학자였던 팀 버너스-리가 처음 개발했고, W3C에서 WWW의 여러 표준과 규약 등을 관리하고 있다.

프로토콜 구성

통신은 TCP/IP 프로토콜 위에서 보통 80번 포트를 사용하여 수행하며, 이 프로토콜을 HTTP라고 한다. 프로토콜의 버전은 1.0, 1.1, 2.0이 존재하며, 보통 1.1을 사용하고 있다. 보안성을 높인 HTTPS 프로토콜도 있으며, TCP/IP를 사용하는 443포트의 TLS 레이어 위에서 HTTP를 구동한다. HTTP 2.0은 무조건 HTTPS로 동작된다.

초창기에는 주소를 URL 형식으로 표현하고 있었으며, 현재는 이를 확장한 URI 형식으로 표현한다.

WWW의 구성은 서버와 클라이언트로 되어 있으며, 서버 하나는 여러 명의 클라이언트를 받아서 처리할 수 있다. 클라이언트 프로그램을 웹 브라우저라고 하며, 서버 프로그램을 웹 서버라고 한다.

모든 통신은 헤더와 컨텐츠 영역으로 구분되어 있다. 헤더 영역에는 해당 요청 또는 응답의 정보들이 포함되며, 컨텐츠 영역에는 데이터가 포함된다.

범용 사용

초창기 WWW는 단순한 하이퍼텍스트, 이미지, 오디오 등 웹 사이트의 전송에만 사용되고 있었지만 현재는 범용으로 사용되고 있는데, 카카오톡, 페이스북, 트위터 등의 소셜 네트워크 서비스 앱과 네이버 지도, 다음 지도 등의 지도 앱, 모바일 게임 등에서는 WWW의 프로토콜을 사용하여 데이터를 주고받고 있으며, 이 외에도 많은 부류의 앱이 이런 방식을 취하고 있다. 이런 통신을 위해 사용하는 것을 오픈 API라고 하며, 이를 구현하기 위해 SOAP, RESTful 등의 방식을 적용하고 있다.

WWW의 HTTP/HTTPS 프로토콜이 범용으로 사용되기 시작한 이유는 서버를 따로 개발할 필요가 없이 서버 로직만 작성하면 되고, 표준 규약이기 때문에 서드파티 앱의 개발이 용이하기 때문이다. 다만 실시간성이 떨어지기 때문에 실시간으로 동작해야 하는 소프트웨어에서는 사용하지 않는 편이다.

통신 과정

  1. 웹 브라우저에 주소를 입력하고 이동을 명령하면 웹 브라우저는 웹 서버에 연결을 요청한다.
  2. 연결이 완료되면 웹 브라우저는 웹 서버에 URI 및 여러 정보를 전달하여 페이지를 요청한다.
  3. 웹 서버는 페이지가 존재하면 페이지를 전달하고, 없을 경우 오류 코드를 전달한다.
  4. 전달 받은 페이지가 화면에 표시할 수 있는 데이터면 브라우저에 표시하고, 그렇지 않은 데이터면 다운로드를 수행한다.
  5. HTTP 1.1 이상의 버전의 경우 다음 요청을 위해 연결을 유지하고 1.0 버전은 연결을 끊는다.
  6. HTTP 1.1 이상의 버전은 2번으로, HTTP 1.0 버전은 1번으로 돌아간다.