ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 웹호스팅: 호스팅이라는 서비스의 개념으로 설명하기.
    항해99 1기 수료후 TIL 2022. 4. 24. 17:50
    웹호스팅의 정의 : 콘텐츠 리소스를 저장/중개/관리하는 일을 통틀어서 이르는 말.

    ↑↑↑안 와닿는 정의

     

    와닿는 정의

    서버컴퓨터의 전체 또는 일정 공간을 이용할 수 있도록 임대해주는 서비스

     

    이런 서비스가 필요한 이유

    • 콘텐츠를 저장/제공/로그접근/관리 등등에 서버가 필요: 그 서버에 필요한 하드웨어/소프트웨어 관리가 어려움
    • 서버를 운영하려면 24시간/365일 내내 컴퓨터가 켜져 있어야 함 : 비용/공간/전문가 빵빵한 회사가 아니면 어려움 

    요즘은 Hosting을 cloud라고도 함

    • 둘다 인터넷에 연결된 컴퓨터를 빌려주는 서비스/비즈니스라는 점에서 같음.
    • 호스팅중에서 웹서버를 운영하는데 필요한 소프트웨어까지 설치해서 빌려주는 서비스 = 웹호스팅
    • 내가 보기엔 AWS나 네이버 클라우드가 웹호스팅과 같지는 않고 AWS, 네이버 클라우드가  웹호스팅보다 많은 일을 하는 것.
    • 웹호스팅만 하는 회사들이 따로 존재. 

     

    호스팅의 구분: 전용호스팅과 가상호스팅

    전용호스팅(= 단독호스팅)

    • 클라이언트 하나 당 한개 서버를 통째로 빌려주는 서비스
    • 서버 하나를 단독으로 사용하므로 다른 사용자의 간섭이 없다.
    • 당연히 비싸다.

    가상호스팅(=공유호스팅)

    • 컴퓨터(머신이라고 함) 한대당 여러 고객들이 공유해서 저렴하게 서비스를 제공하는 것.
    • 서버 1기를 여러 가상 머신으로 '분할'해서 개별 서버 자원처럼 운영하는 서비스.
    • 그러니 물리적으로는 서버가 1기만 있지만 그 1기를 여러 사용자가 각자 자신의 것처럼 사용할 수 있음.
    • 그러니 당연히 가격은 저렴.
    • 서버 1기만 나눠서 쓴다는 개념만 있는게 아니라, 서버 팜(서버 더미)를 만들고 서버 팜에다 부하를 분산함.

    가상호스팅의 결함

    *HTTP/1.0만의 결함일수도 있음

    HTTP/1.0 명세에는 호스트 정보가 없음.(어느 웹사이트에 요청하는 것인지 정보가 없음)

    이런 문제가 생긴 원인

    각 웹서버가 정확히 한 웹사이트만 호스팅 할 것이라 생각해서, 전체 URL을 명세에 없이 설계함.

    해결책: HOST 헤더를 통한 가상 호스팅

    브라우저/서버 개발자들은 서버가 원 호스트명을 받아 볼 수 있게 HTTP 확장

    안정적인 웹사이트 만들기

    사이트 장애 상황

    • 서버 다운
    • 트래픽 폭증
    • 네트워크 장애/손실

    이런 문제에 대응하는 방법들

    1. 미러링 된 서버 팜

    서버팜: 서로 대신할 수 있는 서버들의 집합.

    한 서버에 문제가 생기면 다른 서버가 대신 콘텐츠를 전달할 수 있다.

    그림 18-7에서 가능한 시나리오는 두가지

    • HTTP 리다이렉션
    • DNS 리다이렉션

    2. CDN(콘텐츠 분산 네트워크)

    CDN: 특정 콘텐츠의 분산을 목적으로 하는 네트워크

    3. CDN의 대리 캐시

    대리캐시 = 리버스 프록시라고도 함.

    출처; https://losskatsu.github.io/it-infra/reverse-proxy/#%EB%A6%AC%EB%B2%84%EC%8A%A4-%ED%94%84%EB%A1%9D%EC%8B%9Creverse-proxy-%EC%84%9C%EB%B2%84-%EA%B0%9C%EB%85%90

    4. CDN의 프록시 캐시

    출처: https://snoop-study.tistory.com/62

    정리: 웹사이트 빠르게 만들기

    • 서버 팜 / CDN / 대리 서버 : 혼잡 조절, 네트워크 트래픽 분산
    • 콘텐츠 분산 효과 : 콘텐츠가 사용자에게 더 가까워진다 = 콘텐츠가 클라이언트까지 전송하는 시간 단축
    • * 리로딩 속도 결정 요소 : 요청-응답이 클라이언트-서버간 연결 맺고 데이터를 전송하는 방법에 달려 있음

    댓글

금손이 프론트엔드 개발자가 되고자 오늘도 존버중