Skip to content

Latest commit

 

History

History
172 lines (112 loc) · 8.22 KB

File metadata and controls

172 lines (112 loc) · 8.22 KB

18장 🐙 웹 호스팅

18.1   호스팅 서비스  daelee

아래 그림에서 아이린의 ISP는 어떤 호스팅 서비스를 제공하는 회사일까요?

  1. 외부위탁 가상 호스팅
  2. 가상 전용서버 호스팅
  3. 외부위탁 전용서버 호스팅

image-20200916191243494

📄 답지

아래 그림에서 아이린의 ISP는 어떤 호스팅 서비스를 제공하는 회사일까요?

  1. 외부위탁 가상 호스팅
  2. 가상 전용서버 호스팅
  3. 외부위탁 전용서버 호스팅

image-20200916191243494

정답 : 3. 외부위탁 전용서버 호스팅

외부위탁 전용서버 호스팅이란, ISP에서 서버를 한 대씩 임대하여 전용의 네트워크와 물리적인 서버를 사용하는 것을 말한다.

ISP(Internet Service Provider) : 개인이나 기업에게 인터넷 접속 서비스, 웹 사이트 구축 등을 제공하는 회사를 말한다.


18.2   가상 호스팅  daelee

  1. 가상 호스팅을 제공하는 업체는 PC 한 대에 수십, 수백 개의 웹사이트를 호스팅한다. (O / X)

  2. HTTP/1.0은 요청 메시지에 URL의 경로 컴포넌트만 전송할 뿐 호스트 명이 빠져있기 때문에 가상 호스팅을 사용할 수 없다. (O / X)

  3. URL 경로를 통한 가상호스팅, 포트번호를 이용한 가상 호스팅, IP 주소를 이용한 가상 호스팅의 단점을 함께 고민해볼까요? (떠든 사람 지목 예정)

  4. HTTP/1.1 웹 서버는 Host 헤더 필드가 없는 HTTP/1.1 요청 메시지를 받으면 ____응답코드 로 응답해야 한다.

  5. 가상호스팅을 지원하는 HTTP/1.1 웹서버는 요청 메시지에 전체 URL이 기술 되어 있으면 Host 헤더에 있는 값은 무시하고 URL을 사용한다. (O / X)

📄 답지
  1. 가상 호스팅을 제공하는 업체는 PC 한 대에 수십, 수백 개의 웹사이트를 호스팅한다. (O / X)

    정답 : X

    실제로는 하나의 서버가 아니라 *서버 팜(*server farm)**이라고 불리는 복제 서버 그룹들이 수백, 수천 개의 웹사이트를 호스팅한다. 팜에 있는 각 서버는 다른 서버를 복제한 것이다. 서버 팜에 대한 자세한 내용은 20장에서 다룬다.

  2. HTTP/1.0은 요청 메시지에 URL의 경로 컴포넌트만 전송할 뿐 호스트 명이 빠져있기 때문에 가상 호스팅을 사용할 수 없다. (O / X)

    정답 : X

    HTTP/1.0 요청은 호스트 정보에 대한 별다른 언급 없이 "GET /index.html"이라는 요청을 한다. 그러면 가상으로 호스팅한 여러 웹 서비스중 어떤 것을 원하는지 명확하지 않게 된다.

    초기 HTTP 명세는 가상 호스팅을 고려하지 않았기 때문에 생긴 문제인데, 웹 호스팅 업자들은 가상 호스팅을 지원하기 위해 다음 네 가지 기술을 고안했다.

    • URL 경로를 통한 가상 호스팅
    • 포트번호를 이용한 가상 호스팅
    • IP 주소를 통한 가상 호스팅
    • Host 헤더를 통한 가상 호스팅
  3. URL 경로를 통한 가상호스팅, 포트번호를 이용한 가상 호스팅, IP 주소를 이용한 가상 호스팅의 단점을 함께 고민해볼까요? (떠든 사람 지목 예정)

    URL 경로를 통한 가상호스팅은 각 가상 사이트 URL에 특정 경로 컴포넌트를 추가해서 구분하는 방식인데, 이미 호스트 명에 포함된 접두어를 불필요하게 한 번 더 사용해야한다는 점이 사용자에게 혼란을 준다.

    www.yebalja.com/yebalja/index.html
    www.daelee-home.com/daelee/index.html
    

    포트번호를 이용한 가상호스팅은 각 사이트별로 다른 포트를 할당하여 구분하는 방식인데, 사용자 입장에서는 포트 번호를 주소에 직접 입력해야하기 때문에 별로다.

    IP 주소를 이용한 가상호스팅은 각 사이트마다 유일한 IP 주소를 할당하는 방식인데, 규모가 큰 호스팅 업체에게는 문제가 있을 수 있다. 일반적으로 하나의 물리적인 장비에 연결할 수 있는 IP 개수에는 제한이 있고, 수천 개의 IP 주소를 관리하는 비용이 크게 들기 때문이다. 그러나 널리 사용되는 방식.

  4. HTTP/1.1 웹 서버는 Host 헤더 필드가 없는 HTTP/1.1 요청 메시지를 받으면 ____응답코드 로 응답해야 한다.

    정답 : 400 Bad Request

  5. 가상호스팅을 지원하는 HTTP/1.1 웹서버는 요청 메시지에 전체 URL이 기술 되어 있으면 Host 헤더에 있는 값은 무시하고 URL을 사용한다. (O / X)

    정답 : O

    가상 호스트를 사용하는 모든 웹서버는 HTTP/1.1을 통해 오는 리소스를 결정하기 위해서 다음과 같은 규칙을 사용해야 한다.

    1. HTTP 요청 메시지에 전체 URL(스킴과 호스트 컴포넌트)이 기술되어 있으면, Host 헤더에 있는 값은 무시하고 URL을 사용한다.
    2. HTTP 요청 메시지에 있는 URL에 호스트 명이 기술되어 있지 않고 요청에 Host 헤더가 있으면, 호스트 명과 Host 헤더에서 가져온다.
    3. 1, 2단계에서 호스트를 결정할 수 없으면 클라이언트에 400 Bad Request응답을 반환한다.

18.3   안정적인 웹 사이트 만들기  secho

1번. 서버 클러스터라고도 불리는 ___은 서로를 대신하고 식별할 수 있게 설정된 웹서버의 집합이다. (웹 호스팅 서비스를 제공하는 ISP를 지칭하기도 함)

CDN?
  • CDN - 콘텐츠 분산 네트워크는 특정 콘텐츠의 분산을 목적으로 하는 네트워크이다.
  • 콘텐츠 요청시 원서버로부터 받는 것보다 사용자와 가까운 곳에 위치한 캐시서버에 해당 컨텐츠를 저장하고 요청시 캐시 서버가 응답해주는 기술.
  • CDN을 도입하면 Web성능향상, 비용절감, 퍼포먼스, 사용자만족도 향상 등 효과를 가질 수 있다.
  • DDos 공격으로부터 보호가능
웹 서버와 DB서버를 분리하는 이유를 알아볼까요?
  • 웹서버 : 외부에게 정보를 제공하기 위한 서버
  • DB서버: 중요한 자료들이 있는 서버

DB서버와 웹서버를 같은 서버에서 사용하는 경우 DB서버에 대한 외부접근이 쉬워져서 해킹의 위험이 생길 수 있기 때문에 외부의 접근을 제한해야한다.

실제로 웹서버는 누구나 접근이 가능하도록 구축하고 DB서버는 서버팜에 구축해야한다.

웹 서버와 DB서버는 방화벽에서 접근 제어 기능을 통해 접근할 수 있도록한다.

📄 답지

1번. 서버 클러스터라고도 불리는 ___은 서로를 대신하고 식별할 수 있게 설정된 웹서버의 집합이다. (웹 호스팅 서비스를 제공하는 ISP를 지칭하기도 함)

-> 서버팜


18.4   웹 사이트 빠르게 만들기  secho

웹사이트 속도 개선방법

  • HTTP 요청 최소화
    • 파일 결합(Web pack)
    • sprites 이미지 요청수를 줄이기 위해서 사용함
  • CDN 사용
  • Expires , Cache-Control을 헤더에 추가
    • 캐시사용으로 HTTP 요청수를 줄이기 위해서사용
  • Gzip인코딩으로 70%까지의 응답 크기를 줄일 수 있다.
  • 상단에 스타일 시트를 넣어라 문서의 HEAD에 stylesheets를 놓으면 페이지 로딩속도가 빨라진다
  • 하단에 스크립트를 넣어라
  • JS, CSS는 외부파일로 만들어라 => 캐시를 위함

웹사이트 속도 개선 방법

📄 답지
  • 여기에
  • 해설을 작성해주세요