ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • How the web works? 웹은 어떻게 동작하는가.
    about front-end 2020. 7. 4. 15:27

     

     

     

     

    '웹의 동작 방식'은 우리의 컴퓨터나 폰의 웹 브라우저 안에서 웹페이지를 볼 때 무슨 일이 발생하는지에 대한 

    간소화된 개념을 제공할 것이다.

     

     

    먼저, 웹에 연결된 컴퓨터는 클라이언트와 서버라고 한다. 

     

    클라이언트와 서버의 상호작용

     

     

    - 클라이언트는 일반적인 웹 사용자의 인터넷이 연결될 장치들 (예를들어, 제가 지금 사용하는 랩탑과 핸드폰은 wifi에 연결되어 있습니다)

      과 이런 장치들에서 이용가능한 웹에 접근하는 소프트웨어이다. 

     

    - 서버는 웹페이지, 사이트, 또는 앱을 저장하는 컴퓨터이다. 클라이언트의 장비가 웹페이지에 접근하길 원할 때, 

       서버로부터 클라이언트의 장치로 사용자의 웹 브라우저에서 보여지기 위한 웹페이지의 사본이 다운로드 된다. 

     

     

    즉, 브라우저에 사용자가 url을 치면 서버에 요청해서 응답하는 것이 웹의 동작 방식이다.

     

    다시, 예로 들면 아래와 같다. 

     

     

    만약 사용자가 www.wecode.co.kr이라는 url (http 통신)로 요청하면 

    wecode서버에서 응답을 한다. 

     

    더 생각을 확장해 보기 앞서 개념정리를 해보자.

     

     

    Hosting 호스팅 (Web hosting service)


    호스팅이란 인터넷에 어떤 웹사이트를 띄우는 것이다. 

    인터넷에 사이트를 띄운다는 것은 홈페이지의 구성파일들이 ( html, css, js) 인터넷에 '항상' 연결되고,

    '절대' 꺼지지 않는 호스트 컴퓨터(웹서버) 에 저장되어 있다가 사용자의 요청이 오면 언제든 응답할 수 있다는 것이다.

     

    사용자에게 응답을 해줄 수 있는 서버가 꺼지지 않고 항상 켜 있는 상태여야 한다. 

     

    이 서버는 컴퓨터가 될 수 있는데, 개인적인 컴퓨터에 하기보다는, 

    항상 언제나 절대 꺼지지 않으며 인터넷에 연결되어 있어야 하기에 그런 컴퓨터를 제공하는 업체를 이용한다. 

     

     서비스 예) AWS, cafe24

     

    이러한 것을 호스트 서버라 한다. 

     

    즉, 

     

    사용자가 브라우저를 통해 요청을 하면 wecode에서 빌린 wecode 호스트서버에 요청이 가서

    이 전에 넣었던 html, js, css 등을 가지고 응답을 해서 사용자의 브라우저에 보여주는 것이다. 

     

     

     

     

    IP


    그렇다면, 어떻게 이 url이 특정서버를 알고 접속할 수 있을까?

     

     

     

    IP(Internet Protocol)주소는 Internet으로 통신하는 모든 각 device(컴퓨터, 통신장비)에 부여된 고유한 값이다.

     

    그래서 각각의 컴퓨터들은 서버가 될 수 있다. 

     

    스마트폰이나 노트북부터 대규모 소매 웹 사이트의 콘텐츠를 서비스하는 서버에 이르기까지

    인터넷상의 모든 컴퓨터는 숫자를 사용하여 서로를 찾고 통신하며, 이러한 숫자를 IP주소라 한다. 

     

     

     

     

    Domain (Domain name)


    문자(string)으로 된 고유주소, 수많은 IP주소를 사람이 외워서 접속할 수 없기 때문에 기억하기 쉽다.

     

     

    ex) www.wecode.com  , www.google.com  

     

    우리는 웹브라우저에 접속을 IP주소로 하는 것이 아니라 위와 같이 Domain으로 한다. 

    사람들이 모두 IP주소를 외울 수가 없다 .

    그래서 나온것이 문자로 된 주소 인 도메인이다.

     

    이 것또한 ip처럼 고유의 주소이다. 

     

    ip주소에 문자로 된 도메인이 주소를 매칭해서 사용할 수 있다. 

     

    도메인은 구매하여 사용한다. 

     

    도메인의 주소구성은 아래와 같다.

     

     

     

     

    DNS (Domain Name System)


    DNS는 사람이 읽을 수 있는 도메인 이름(예: www.wecode.com) 을 머신이 읽을 수 있는 IP주소(예: 192.0.2.44)로 변환하는 것이다.

     

    DNS는 이름과 숫자 간의 매핑을 관리하여 마치 전화번호부와 같은 기능을 한다. 

    DNS 서버는 이름에 대한 요청을 IP주소로 변환하여 최종 사용자가 도메인 이름을 웹 브라우저에 입력할 때, 

    해당 사용자를 어떤 서버에 연결할 것인지를 제어하며 이 요청을 쿼리라고 부른다. 

     

    서비스 예) Amazon Route 53, Cafe24도메인관리 등

     

    * DNS서버란 도메인과 서버를 연결해주는 중간 서버로 

    도메인 이름을 인터넷상의 주소(IP주소)로 변환시켜 원하는 컴퓨터를 찾아갈 수 있도록 한다.

     

     

     

     

    다시, 결론적인 웹의 동작방식을 살펴보면 아래와 같다.

     

     

     

    사용자가 브라우저를 열고 www.wecode.co.kr을 치면 DNS Server를 거쳐서 DNS Server에서 매칭된 IP주소를 찾아준다.

    그러면 브라우저에서 이 IP주소를 기억하고 있다가 IP주소를 갖고서 

    요청할 때마다 이 IP주소를 이용해 실제 wecode 호스트 서버인 타겟서버로 호출을 해서 

    최종적으로 html, css, js 를 응답시켜 주는 것이다. 

     

     

     

    배포(Deploy)


    "배포(deploy)한다. or 디플로이한다. "

    라는 말을 앞으로 자주 하고, 듣게 될 것이다. 

     

    배포란, 그동안 개발하던 것을 세상(인터넷상)에 드디어 공개하고 모든 사람들이 접근해서 볼 수 있게 하는 것을 의미한다.

     

     

     

     

     

     

     

     

     

     

    출처 : mdn , 위코드세션

     

    댓글

Designed by Tistory.