웹의 동작 방식

0

WECODE

목록 보기
1/3

안녕하세요 ! 이번 포스팅에서는 컴퓨터나 폰의 웹 브라우저 안에서 웹페이지를 볼 때 일어나는 일에 대해서 간략하게 정리 해보겠습니다.

1. 클라이언트와 서버

먼저, 웹은 크게 두 가지 종류의 컴퓨터로 이루어져 있습니다. 사용자가 이용하는 클라이언트와 사용자가 웹페이지에 필요한 정보들을 저장해두는 서버라고 하는 컴퓨터들이죠. 좀 더 확실하게 말하자면,

클라이언트는 일반적인 웹 사용자의 인터넷이 연결된 장치들 (예를 들어, 여러분의 컴퓨터는 WI-FI에 연결되어 있고, 또는 여러분의 폰은 모바일 네트워크에 연결되어 있습니다) 과 이런 장치들에서 이용가능한 웹에 접근하는 소프트웨어 (일반적으로 파이어폭스 또는 크롬 과 같은 웹 브라우저) 입니다.

서버는 웹페이지, 사이트, 또는 앱을 저장하는 컴퓨터입니다. 클라이언트의 장비가 웹페이지에 접근하길 원할 때, 서버로부터 클라이언트의 장치로 사용자의 웹 브라우저에서 보여지기 위한 웹페이지의 사본이 다운로드 됩니다.

한줄 요약: 클라이언트는 요청 ! 서버는 응답 !

2. 웹 호스팅

그렇다면, 서버가 항상 클라이언트의 요청은 받고, 그 요청에 응답하기 위해서는 항상 켜져 있어야겠죠??? 혹시라도 서버가 꺼져있다면, 모든 사용자의 요청에 응답해줄 수 없기 때문에, 손해가 이만저만이 아닐테니깐요 ㅠㅠ 그래서 서버 컴퓨터는 아래 사진처럼 조금 독특하게 설계가 되어있고, 서버를 다루는 서버 개발자도 따로 두는 회사도 있다고 합니다 !

그렇지만, 서버 컴퓨터에다가 관리자 임금 ... 추가로 서버 컴퓨터의 관리비용 기타 등등 ... 항상 부족한게 돈이기 때문에 웬만하게 큰 서비스가 아니고서 그 비용을 다 감당하기는 벅찬게 팩트 ...

그래서 이런 서비스들의 Needs를 위해 나온게 웹 호스팅 서비스 입니다 !!! 서버에 필요한 자원 및 관리를 웹호스팅 회사가 해주고, 일정 비용을 지불하는 식이예요! 대표적인 예로, Amazon 사의 AWS EC2 와 Cafe24 그리고 요즘 광고에 자주 나오는 wix 또한 이런 웹 호스팅 회사들이죠 ! 이 포스팅은 간단한 개념만 집고 갈것이기 때문에, 여기에 나온 AWS나 CAFE24에 대한 포스팅은 다음 기회에 계속 하겠습니다 ㅠㅠ

3. 서버와 클라이언트의 통신 방법

이제 클라이언트와 서버 라는 컴퓨터가 서로 요청과 응답을 통해서 서비스가 이루어 졌다는 것을 이제는 알겠는데, 그러면 서로 어떻게 통신을 이루고 있는 것일까요?

저희는 이것에 대한 답을 어렴풋이 알고 있을거예요. 바로 IP 입니다!

IP란 ?

IP 주소는 Internet으로 통신하는 각 device(컴퓨터, 통신장비)에 부여된 고유한 값.
스마트폰이나 노트북부터 대규모 소매 웹 사이트의 콘텐츠를 서비스하는 서버에 이르기까지 인터넷상의 모든 컴퓨터는 숫자를 사용하여 서로를 찾고 통신하며, 이러한 숫자를 IP 주소라고 한다.

위의 사진 처럼, IP는 원래 4구역으로 나뉘어져 있고, 한구역당 8비트의 정보를 담을 수 있어요. 즉, 총 32비트가 하나의 IP 주소이고, 총 경우의 수는 2의 32승 = 대략 43억 개의 웹사이트의 주소를 담을 수 있게 되는 것이죠 ! 이것도 정말 많은 숫자이지만, 더 놀라운건 이 많은 수의 IP 주소가 이미 할당되어서 새로운 IP 주소인 IPv6 라는 것이 나왔다고 합니다 ㅎㄷㄷ 이 IPv6같은 경우는 무려 2의 128승의 웹사이트를 할당할 수 있는 경우의 수를 가질 수 있다고 하네요 ... 와 ... 거의 무한대로 사용할 수 있는 양이라니깐, 주소가 부족한 경우는 앞으로 없겠네요 ㅎㅎ

Domain name 이란?

위의 보신대로 컴퓨터는 통신할 컴퓨터의 주소를 입력해서 접속으로 하게 되는데, 이 주소를 사람이 일일히 다 외울수는 없겠죠 ㅠㅠ 그래서 이 IP 주소를 사람들이 더 알아보기 쉽게 영어이름으로 변환한 것이 바로 Domain name이라고 하죠. 저희가 맨날 들어가는 www.google.com 이랑 www.naver.com 같은 주소들이 바로 이 Domain name이고, 각 domain이 해당 ip주소를 나타내고 있는 것입니다 !

DNS (Domain Name System)

그래서 먼저 저희가 www.naver.com 이란 주소를 브라우저에 입력하게 되면, Domain Name이 저장된 서버에 먼저 요청이가고 그 요청으로 저희 브라우저는 접속하고자 하는 IP주소를 얻게 되는것이죠 ! 정말 굉장하지 않나요 ? 저희가 매일 신경안쓰고 있지만, 웹상에서는 이 모든 프로세스가 일순간 일어난다는게 정말 재밌는거 같아요 ㅎㅎ

번외.

이 포스팅에서는 간단하게 서버와 클라이언트가 통신하는 밑그림 정도만 설명했지만, 사실 깊게 들어갈 수 록 웹은 더 복잡한 구조와 개념들로 이루어져 있어요. HTTP 통신규약 , OS 7/4계층 , TCP/IP, 기타등등 ... 앞으로 공부할게 산더미 처럼 많지만, 시간 날때마다 이렇게 정리해서 포스팅해보도록 하겠습니다 !

끝!

profile
# 개발 # 컴퓨터공학

0개의 댓글