티스토리 뷰

Web 개발/HTML

Web은 어떻게 동작할까?

Hula_Hula 2018. 10. 16. 02:37

[Web은 무엇일까?]


Web 이란 단어를 많이 들어보셨을 겁니다.


웹어플리케이션, 웹사이트, 홈페이지... 웹이라는 단어를 떠올렸을 때, 따라오는 단어들.

Web이란 정확하게 무엇일까요?


Web은 World Wide Web (www)을 줄여서 쓰고 있습니다.

Web = World Wide Web


그럼 World Wide Web은 무엇일까요?

홈페이지의 주소 맨 앞에 쓰는 www는 많이 봤어도 정확하게 뭘 의미하는지는 모릅니다.


World Wide Web의 이름이 탄생하기 전에 팀 버너스리(Tim Berners-Lee) 는 하이퍼텍스트 시스템을 만듭니다.

하이퍼텍스트 시스템은 어떤 사람이 다른 사람의 문서를 보고싶을 때 바로 확인할 수 있는 시스템이죠.

원하는 문서를 보고 싶다면?

맞습니다. '컴퓨터'와 '통신시스템', '전자문서'의 기술이 필요하죠. 그래서 팀 버너스리는 HTTP(통신)와 HTML(전자문서 작성언어), URL(파일의 위치를 알려주는 약속)를 설계했습니다.


이 설계도 덕분에 우리는 지금 많은 정보를 접할 수 있죠.

많은 사람들이 이 하이퍼텍스트 시스템의 정해진 규칙에 따라 문서를 작성하고 통신하면서 전세계는 거대한 정보망을 만들었습니다.


정.보."망"

그렇습니다. 팀 버너스리가 "Web"이라는 단어를 선택한 이유죠.

World Wide Web은 팀 버너스리가 만든 규칙 (URL, HTTP, HTML)에 따라 정보가 교류되는 시스템을 의미합니다.


그 공간안에 있는 문서는 Web-Page(웹 페이지)가 되고 웹페이지가 모여 Web-Site(웹사이트)가 됩니다.


[참고] 팀버너스리가 처음 Web을 개발하기 전, 유럽 입자물리 연구소(CERN)에서 근무하고 있었습니다.

입자물리 연구는 방대한 데이터가 쏟아져 나오는 연구이기 때문에 이 많은 데이터를 어떻게 다루고 공유할 것인지 고민했습니다.

심지어 유럽입자물리 연구소는 길이 27km의 입자가속기를 통해 연구하고, 이 입자가속기는 국경을 넘나들 정도로 거대하기 때문에 많은 연구소들이 먼 거리에 떨어져 있었죠. 1960년대 인터넷이 개발된 이후 이 인터넷을 이용해서 1990년대 유럽 입자물리 연구소에서 문서를 주고 받을 수 있는 시스템 "Web"을 개발했습니다. 팀 버너스리가 말이죠. CERN에서의 검증을 통해 효과가 증명된 Web은 전세계로 뻗어나갔습니다. 아무런 저작권이나 보상 없이 CERN에서 무료로 배포한 것이죠. 그 결과 지금은 인터넷과 Web을 다루는 다양한 기술과 직업들이 생겨났습니다. '자연과학'인 '물리학' 분야에서 Web 기술이 탄생한 것은 참 신기합니다. 컴퓨터과학은 자연과학의 발전에 따라 생겨났고, 자연과학의 발전은 컴퓨터과학의 도움을 받아 발전한다는 점에서 학문간의 상호작용은 끊임없이 이뤄집니다.



[Web과 Internet은 다른 것인가?]


인터넷은 컴퓨터와 컴퓨터를 연결한 것을 말합니다. 더 자세히 말하면 통신 프로토콜(TCI/IP)을 이용해서 정보를 주고받는 네트워크입니다. 네트워크로 정보를 교환할 수 있습니다.

정보교환을 하는 차원에서 Web과 비슷한 의미를 지니지만 Web은 인터넷이 동작하는 가정하에 정보를 공유할 수 있다는 점에서 인터넷이 더 큰 의미를 가집니다. 즉, Web은 인터넷이 동작할 때 가능한 수많은 서비스 중 하나입니다.


위에서 말했듯이 인터넷은 다양한 서비스를 제공합니다. Web뿐만 아니라 email, FTP(파일 전송 프로토콜)의 서비스를 제공합니다.


[그림1] 인터넷 속에서 다양한 서비스가 구현된다






[Web은 어떻게 동작할까?]

 

Web 자체를 이해하기는 정말 쉽습니다.

하지만 구현시키기는 생각보다 쉽지 않죠. 왜 그럴까요?


Web이 동작하기 위해선 다양한 기술들이 톱니바퀴처럼 잘 맞물려 돌아가야 합니다.

Web이 동작하기 위해서 클라이언트와 서버가 필요합니다. 


클라이언트와 서버는 무엇일까요?


결론부터 말씀드리면 클라이언트는 "웹브라우저"라는 소프트웨어가 설치된 대상을 의미합니다.

서버는 "웹서버"라는 소프트웨어가 설치된 대상을 의미합니다.


클라이언트는 서버에 '요청'을 하고, 서버는 클라이언트에게 '응답'을 합니다.

예를들어 클라이언트가 구글 홈페이지를 불러오기 위해서 웹브라우저의 주소 입력란에 google.com이라는 주소를 적어서 서버에 '요청'하면 구글 서버에서는 우리에게 다음과 같은 화면을 제공하죠. 

관련 이미지


[그림2] 구글의 메인페이지의 디자인, 내용들은 구글의 서버에 저장되어 있다.


클라이언트도 컴퓨터고 서버도 컴퓨터입니다. 서로 다른 2대의 컴퓨터가 통신을 합니다. 어떤 내용을 가지고 통신을 하느냐?

웹사이트죠. 이제 Web의 개념이 조금은 이해가 가시나요? 이 모든 과정들이 위에서 말한 Web 시스템을 말합니다.


그럼 웹사이트가 구축되는 과정을 보려면 웹브라우저와 웹서버가 모두 있어야겠죠.

웹브라우저는 우리가 많이 설치해봤습니다. 크롬, 인터넷 익스플로러, 파이어폭스 등등...


웹서버 소프트웨어에는 Apache(아파치), Nginx(엔진X), IIS(아이아이에스, Microsoft 제품) 등이 있습니다.

이 중 Apache가 가장 범용적으로 이용되는 오픈소스입니다.



웹브라우저는 설치를 많이 해봤으니

웹서버를 설치하는 방법을 공부해보도록 하겠습니다.









댓글
최근에 올라온 글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
공지사항
최근에 달린 댓글