IT에 대한 지식이 없는 사람이라도 누구나 쉽게 접하고 들어본 서버!!
하지만 누군가 서버가 무엇인지 물어봤을때 명확하게 설명하기 곤란한 적 있으신가요?
오늘은 그런 상황을 대비하기 위해 서버란 무엇인지에 대하여 알아보려고 합니다.
Q : ” 서버란 무엇인가요? “
A: 서버는 사용 목적에 따라 여러가지 존재하는데 오늘은 웹서버에 대해 알아보려 합니다.
한정판매, 공연티켓 구매시 사이트가 멈추거나 접속이 원활하지 않은 경우
이용자는 ‘아 서버 터졌네’ 라는 말을 하곤 합니다.
서버의 기본 개념은 Serve(제공하다) + er 을 결합한 단어로 표현하는데
여기서 의미하는 서버는 다수의 인원에게 서비스를 제공해주는 역할을 가진 컴퓨터를 의미합니다.
쉽게 말씀드리면 Chrome을 열고 검색을 했을때 그 검색자료를 제공하는 것이 서버의 역할입니다.
Q : ” 그렇다면 원리는 어떻게 되는건가요? “
A : 웹서버가 이용자에게 전달하는 서비스는 다음과 같습니다.
1. 웹브라우저(Chrome)의 URL(주소 검색창)에 iwinv.kr 이라는 도메인¹을 입력합니다.
1-1. 웹브라우저는 DNS(Domain Name System)²에게 도메인(www.iwinv.kr)을 전달합니다.
1-2. DNS는 웹브라우저로 도메인의 IP(13.113.13.113)를 전달하게 됩니다.
2. 웹브라우저(Chrome)는 해당 IP를 웹서버에게 전달하며 HTML³문서를 요청합니다.
3. 웹서버는 요청받은 문서를 WAS⁴로 거쳐야 하는지 확인여부 후 상황에 맞게
다시 웹브라우저로 HTML문서를 전달합니다.
4. 웹브라우저는 문서를 전달받고 화면에 iwinv.kr 페이지를 출력하게 됩니다.
(웹브라우저 : Chrome, Safari, Firefox) (웹서버 : Apache, IIS, Nginx)
Q : ” 궁금한게 너무 많아요! 용어 설명좀 자세히 부탁드려도 될까요? “
1. 도메인
여러분들이 보고 계신 이 사이트를 포함한 모든 웹사이트는 각각 고유의 숫자로 된 IP를 보유하고 있습니다.
<도메인:iwinv.kr = IP:13.113.13.113>
그렇기 때문에 URL(웹주소창)에 IP(13.113.13.113)를 입력하게 되면 해당 사이트로 접속이 가능합니다.
하지만 각 사이트별 IP를 일일이 암기하면서 접속하는 일은 쉬운일이 아니겠죠?
그래서 암기하기 어려운 IP주소를 보다 쉽게 기억하고 사용할 수 있게 발명된 것이 도메인 입니다.
2. DNS(Domain Name System)
도메인을 해당 IP주소로 변환시켜 주는 시스템을 DNS라고 하며 도메인 수도
상당히 많기 때문에 DNS 서버도 종류가 다양합니다.
그림으로 보는 DNS 동작 원리
(해당 링크에 DNS에 관한 자세한 내용이 참조되어 있습니다.)
3. HTML(Hyper Text Markup Language)
iwinv.kr 이렇게 누르면 해당 사이트로 접속하게 되는 기능을 Hyper Link라고 한다면 Hyper Link 기능을 통해
문서와 문서를 연결시켜 원하는 페이지를 빠르게 열람할 수 있게 하는 것을 Hyper Text라고 합니다.
Markup은 ‘무엇을 표시하다’ 라는 의미를 지니고 있으며
마크업 언어는 표시를 하여 구조화를 가능하게 하는 언어라고 생각하시면 됩니다.
가늠하기 어려우실 수 있어서 예시를 한가지 들어보겠습니다!
ⓐ 꽃길나라, 김꽃길, 010-8282-8282
ⓑ 업체명 : 꽃길나라
성함 : 김꽃길
연락처 : 010-8282-8282
누군가에게 전화를 하려 한다면 ⓐ와 ⓑ중 어떤 정보가 눈에 확 들어올까요?
ⓑ와 같이 업체명,성함을 표시하는 것이 마크업에 해당됩니다.
요약하자면 HTML은 웹페이지 상의 데이터 작성 및 구조화의 목적으로 사용하는 마크업 언어입니다.
4. WAS & 웹서버의 차이
WAS는 Web Application Server의 약자이며, DB조회 및 동적 컨텐츠를 제공하기 위해
만들어진 어플리케이션 서버입니다.
서버의 부하방지 및 효율성 등 이점을 위하여 웹서버가 앞단에서 정적 컨텐츠만을 제공하고 있으며
동적 컨텐츠를 제공받기 위해선 WAS에 요청하게 됩니다.
*정적 컨텐츠 : 누가 언제 정보를 요청해도 동일한 내용을 보여주는 것을 의미합니다.
*동적 컨텐츠 : 쇼핑몰 장바구니, 인터넷 지도 등 어떤 장소,어떤 시간,사용자에 따라
보여주는 내용이 달라지는 것을 의미합니다.
Q : ” 흥미가 생기네요! 그럼 혹시 개인용 컴퓨터로 서버운영이 가능한가요? “
A : 물론이죠! 가능합니다.
서버의 물리적인 구조는 여러분들이 사용하시는 컴퓨터와 크게 다를것이 없어서
개인용 컴퓨터로도 얼마든지 사이트를 운영하실 수 있습니다.
하지만 다수의 인원이 사용하며 365일 운영을 하기 위한 고사양 컴퓨터를 생각한다면
개인용 컴퓨터보단 서버용 케이스 및 부품을 장착한 컴퓨터가 사이트 운영에 적합하다고 생각합니다.
ex)Intel XEON, DDR4 ECC, 서버용 케이스
항상 일상속에 숨어있었지만 설명하긴 어려웠던 ‘서버’ 를 이해하는데 도움이 되셨을까요?
다음 포스팅은 조금 더 쉽고 재미있는 정보를 가지고 돌아오겠습니다.
감사합니다.