프로필사진
FE_Log
JunO3O
웹의 개요
웹의 개요

2023. 3. 21. 02:58기초 지식

인터넷(Internet) / 웹(Web)

# 인터넷과 웹의 시작

ㅁ 인터넷은 전 세계를 연결하는 국제 정보 통신망으로, 컴퓨터나 스마트폰 같은 디지털 기기로 연결되어 사람들이 정보를 공유할 수 있는 공간입니다. 그리고 웹은 이 인터넷 공간에서 제공하는 서비스입니다.

ㅁ 사물 인터넷(IoT; Internet of Things)은 이 인터넷에 센서와 통신 기능이 내장된 각종 사물을 연결하는 기술입니다. 

ㅁ 우리가 웹 브라우저로 보는 웹은 유럽 공동원자핵연구소(CERN)의 팀 버너스 리(Tim Berners-Lee)가 개발했습니다.

팀 버너스 리는 인터넷에서 문서 사이를 쉽게 이동할 수 있는 기능인 하이퍼링크를 제안하였고, 이 기능을 바탕으로 흔히 웹(Web)이라고 하는 월드 와이드 웹(WWW; World Wide Web)을 발표하였습니다.

ㅁ 이러한 웹의 소스 코드와 표준을 기반으로 웹에 공개된 정보를 탐색할 수 있게 하는 프로그램이 바로 웹 브라우저(Web Browser)입니다.

ㅁ 팀 버너스 리는 W3C(World Wide Web Consortium)를 창설하고, W3C는 HTML 표준을 비롯한 웹 표준안을 제작하거나 제안하는 일을 하는 국제적인 웹 표준화 단체입니다.

 

# 웹 브라우저 전쟁의 시작

ㅁ 이후 미국 일리노이공과대학교의 연구 기관인 NCSA는 모자이크라는 GUI 웹 브라우저를 최초로 발표합니다. 

ㅁ 이후 웹 브라우저들이 계속 출시되면서 웹 브라우저 간 경쟁을 하는 동안 웹은 엄청난 속도로 발전하지만 W3C는 웹 표준에 발 빠르게 대응하지 못하였고, 이에 불만을 느낀 기업들은 플러그인(Plug-In)이라는 것을 만들기 시작합니다.

ㅁ 플러그인(Plug-In)은 사용자 PC에 프로그램을 추가로 설치해 웹 브라우저의 기능을 확장하는 방법을 말합니다.

ㅁ 어도비 플래쉬, 마이크로소프트 액티브X 등과 같은 플러그인은 웹을 풍부하게 만들어주었고, 웹 브라우저에서 동영상이나 음악 감상도 하고 은행 업무도 처리할 수 있게 되었습니다.

 

# 웹 2.0 시대

ㅁ 인터넷은 사용자와 사용자가 뭉쳐 새로운 컨텐츠를 개발할 수 있는 공간으로 점차 확장되었습니다. 이렇게 서로 다른 사용자가 함께 새로운 컨텐츠를 창조할 수 있는 시대를 웹 2.0 시대 라고 합니다. 예를 들어, 깃허브(Github)는 개발자가 만든 코드를 올리고 관리할 수 있는 단순한 공간이었지만, 사용자끼리 뭉쳐 수많은 소프트웨어를 개발하는 공간이 되었습니다. 또한, 유튜브는 동영상을 올릴 수 있는 단순한 공간이지만 사용자끼리 뭉쳐 거대한 동영상 생태계를 형성했습니다.

 

# 웹 브라우저와 웹 표준

ㅁ 인터넷 익스플로러가 전 세계적으로 점유율을 높이면서 액티브X 같은 플러그인을 삽입해 웹 사이트가 점점 무거워지고 있었습니다. 이에 W3C 회의에서 모질라 재단과 오페라 소프트웨어가 새로운 HTML 표준을 제안하지만 기존 웹이 지향하는 혁명과 위배된다며 거절을 당했습니다.

ㅁ 이에 인터넷 익스플로러를 제외한 애플, 모질라, 오페라 소프트웨어 같은 웹 브라우저를 제공하는 기업은 새로운 웹 표준 기관을 따로 설립합니다. 그 기관이 WHATWG 입니다.

ㅁ WHATWG(Web Hypertext Application Technology Working Group)는 새로운 웹 표준으로 Web Application 1.0 표준을 작성하고, 비슷한 시기에 W3C는 마이크로소프트와 함께 XHTML 2.0 표준을 작성합니다. 그런데 XHTML 2.0 표준은 기존 표준과 너무 동떨어져 개발자들은 사용할 필요성을 전혀 느끼지 못했고 결국 2009년에 폐기됐습니다.

ㅁ 새로운 기능을 추가하려면 새로운 표준 정의가 필요한데, XHTML 2.0이 폐기되면서 공백기가 생깁니다.

ㅁ 결국 W3C는 이 공백기를 메우려고 WHATWG의 Web Application 1.0 표준을 새로운 웹 표준으로 채택한 후 HTML5 표준이라는 이름으로 변경합니다. 그리고 WHATWG와 함께 HTML W/G를 결성해 HTML5 표준을 작성합니다. 

 

웹의 동작

# 동작

ㅁ 웹은 요청과 응답이라는 간단한 형태로 동작합니다. 사용자로부터 요청을 받으면 요청에 맞게 처리를 하여 응답해주는 방식을 가집니다.

ㅁ 웹에서 어떤 대상을 구분하기 위해 사용하는 주소를 URL(Uniform Resource Identifier) 이라고 합니다. 

ㅁ 웹 브라우저에 원하는 웹 서버의 주소(URL)를 입력하면 웹 브라우저에서는 웹 페이지를 제공합니다. 웹 브라우저에 "http://www.naver.com"을 입력해서 네이버에 웹 페이지를 주문합니다. 그러면 웹 서버는 네이버라는 요청을 받아들이고 웹 페이지를 제작하여 배달하는 방식입니다. 그 후 네이버 웹 페이지를 응답받은 웹 브라우저는 화면에 해당 웹 페이지를 띄웁니다.

ㅁ 컴퓨터 세계에서는 요청하는 쪽을 클라이언트(사용자)라고 하며, 응답하는 쪽을 서버(제공자)라고 합니다. 웹은 클라이언트가 서버에 HTML 페이지나 파일을 요청하면, 서버가 해당 요청에 응답해 요청한 HTML 페이지나 파일을 클라이언트에 제공하는 통로라고 할 수 있습니다.

ㅁ 네이버나 구글처럼 웹 서비스를 제공하는 기업을 서버라고 하며, 해당 서버에서 웹 페이지를 제공받는 일반 사용자를 클라이언트라고 보면 됩니다.

ㅁ 이때 서버에서 실행되는 프로그램을 서버 프로그램이라고 하며, 클라이언트에서 실행되는 프로그램을 클라이언트 프로그램이라고 합니다. 덧붙여 서버 프로그램은 사용자와 먼 곳에 있기 때문에 백엔드 프로그램이라고 하며, 클라이언트 프로그램은 사용자와 가까운 곳에 있기 때문에 프론트엔드 프로그램이라고 합니다.

ㅁ 서버 프로그램은 클라이언트의 요청에 따라 적절한 파일과 데이터를 제공합니다. 일반적으로 서버 프로그램은 자바, 파이썬, 자바스크립트 같은 프로그래밍 언어로 개발합니다. 또한, 웹 서버를 쉽게 개발할 수 있도록 프로그래밍 언어를 기반으로 만든 프레임워크를 활용합니다.

ㅁ 클라이언트 프로그램은 웹 브라우저에서 작동하는 프로그램을 의미합니다. 간단하게 서버에서 전달된 HTML 파일을 생각하면 되는데 클라이언트 프로그램은 반드시 HTML, CSS, JavaScript로 개발해야 합니다. 클라이언트 프로그램은 HTML로 요소를 생성하고, CSS로 디자인해서, JavaScript로 프로그래밍 요소를 부여합니다.

 

 

 

끝!

 

'기초 지식' 카테고리의 다른 글

GitHub 사용법  (1) 2023.03.21
HTML5를 공부하면?  (1) 2023.03.21
웹 표준 기술(HTML5, CSS3, JavaScript)  (2) 2023.03.21