[그림 1] 웹이란 무엇인가?
1. 웹
우리는 소위 “인터넷 중독”이 문제가 되는 세상에 살고 있습니다. 그 만큼 인터넷이 우리 생활과 점점 밀접하게 연관되고 있다는 것을 나타내는 것이 아닐까요? 자 그럼 이제 웹( Web )에 대해서 알아보도록 하겠습니다.
웹은 기본적으로 거미줄을 뜻하는 영어 단어입니다. 그렇다면 왜 거미줄을 뜻하는 단어가 인터넷을 통칭하는 단어로 쓰이게 되었을까요? 그것은 네트워크끼리 연결된 인터넷을 거시적으로 봤을 때 나타납니다. 인터넷은 수 많은 컴퓨터들과 네트워크들로 이루어져 있습니다. 복잡하게 얽힌 모습이 마치 거미줄 같다고 하여 웹이라는 명칭이 붙게 된 것입니다.
2. 웹과 HTML [그림 2] 웹브라우저와 서버의 대화
이러한 웹에서는 지금도 수 많은 데이터들이 오가고 있습니다. 여러분이 인터넷을 켜고 포털사이트에 접속을 하면 포털의 웹서버에서 여러분의 컴퓨터( 정확히 말하면 웹브라우저 )로 HTML이라는 파일이 전송되게 됩니다. 그렇다면 이제 HTML의 가장 원초적인 역할도 어느정도 설명이 됩니다. HTML은 Hyper Text Mark-up Language의 약자로 마지막 단어의 Language에서 알 수 있듯이 언어입니다. 즉 인터넷에서 서버와 클라이언트가 대화 할 때 사용되는 언어라고 할 수 있습니다.
다시한번 HTML을 이용한 웹 서버와 웹 브라우저의 대화 순서를 알아 보도록 하겠습니다.
[그림 3] 서버로의 접속 [그림 4] 요청한 서버의 응답 [그림 5] 브라우저의 해석 및 화면 출력
1) 먼저 여러분은 웹 브라우저를 통해서 어떤 사이트에 접속을 하게 됩니다. 이 사이트는 도메인이라는 인간이 알기 쉬운 문자열을 갖고 있습니다. ( 인간은 숫자보다는 문자열에 익숙하죠. 문자열에는 의미가 있기 때문입니다. ) 이 도메인은 ip주소라는 유일한( 이론상으론... )번호로 매핑이 됩니다. 웹 브라우저는 이 ip주소를 이용하여 웹 페이지가 필요하다는 요청을 합니다.
2) 이러한 요청을 받은 웹서버는 브라우저가 요청한 페이지 파일( html파일 )과 해당 파일에서 필요로하는 리소스들 ( 음악이나 동영상과 같은 미디어 파일이나 플래시 파일과 같은 기타 요소들 )을 웹 브라우저로 전송합니다.
3) 웹 페이지 파일과 리소스들을 받은 웹 브라우저는 HTML파일을 해석합니다. ( 파싱을 한다고 하나요?? ) HTML을 해석한 다음 표준에 의해 정의된 대로 화면에 출력을 해 줍니다. HTML파일 자체는 <HTML> </HTML>이나 <embed> </embed>와 같은 특정한 의미를 갖고 있는 태그들과 내용들로 이루어져 있습니다. 이런 의미들을 해석하고 우리에게 익숙한 웹페이지를 보여주는 작업을 브라우저가 하게 됩니다.
4) 해석을 마친 웹 브라우저는 해당 웹 페이지를 사용자에게 보여주게 됩니다. 이 때 보여지는 화면이 우리에게 익숙한 웹 페이지의 형태를 갖고 있습니다.
[그림 6] 여러 브랜드의 브라우저
위에서 HTML을 웹 서버와 웹 브라우저가 대화에 사용하는 언어라고 정의했습니다. 다른 측면에서 HTML을 정의한다면, “웹 페이지를 구성하는 뼈대”라고 할 수 있습니다. 웹 서버와 브라우저의 대화 과정의 3번째 과정에서 HTML을 브라우저가 해석하는 단계가 있습니다. 이런 해석 방법은 w3c에 의해서 관리되고 있습니다. ( 표준이라고 하죠. 웹 브라우저라는 제품은 하나의 회사에서만 만드는 것이 아니라 여러 회사에서 각기 다른 제품을 만들기 때문에 표준이 필요하게 되었습니다. 만일 표준이 없다면 굉장히 혼란스러운 상황이 도래하게 되겠죠. )
[그림 7] W3C 의 홈페이지
HTML에 대해서 어떠한 측면의 정의를 사용하던 웹을 공부하기 위해서 HTML을 공부하는 것이 많은 도움을 주는 것은 사실입니다.