-
웹호스팅: 호스팅이라는 서비스의 개념으로 설명하기.항해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의 대리 캐시
대리캐시 = 리버스 프록시라고도 함.
4. CDN의 프록시 캐시
정리: 웹사이트 빠르게 만들기
- 서버 팜 / CDN / 대리 서버 : 혼잡 조절, 네트워크 트래픽 분산
- 콘텐츠 분산 효과 : 콘텐츠가 사용자에게 더 가까워진다 = 콘텐츠가 클라이언트까지 전송하는 시간 단축
- * 리로딩 속도 결정 요소 : 요청-응답이 클라이언트-서버간 연결 맺고 데이터를 전송하는 방법에 달려 있음
'항해99 1기 수료후 TIL' 카테고리의 다른 글
6장 객체: 코뿔소 자바스크립트 완벽 가이드 스터디 모임 (0) 2022.06.08 HTTP 완벽 가이드 3장: HTTP 메시지 (0) 2022.02.10 TIL 2021.7.26 : 자바스크립트 클래스의 this와 파이썬 클래스의 self 비교(feat. React) (1) 2021.07.26 TIL 2021.7.23 : 자바스크립트 호이스팅의 애매함 타파하기 (0) 2021.07.23 TIL 2021.7.21 : 자바스크립트 데이터의 불변성 유지(feat. 가변성) (0) 2021.07.21