책정리/HTTP 완벽 가이드 6

[HTTP 완벽 가이드 18장] 웹 호스팅

18.1 호스팅 서비스네트워크 대역폭 확보 및 서버 관리의 어려움을 해결하기 위해 전문적인 웹 호스팅 서비스가 등장했습니다. 호스팅 웹 서버는 다음과 같은 서비스를 제공합니다.서버 하드웨어 및 소프트웨어 관리네트워크 연결 및 대역폭 제공데이터 백업 및 보안기술 지원18.1.1 간단한 예: 전용 호스팅전용 호스팅은 ISP로부터 전용 웹 서버를 임대하여 사용하는 방식입니다.장점: 높은 성능과 안정성, 사용자 정의 가능단점: 높은 비용, 서버 관리 필요18.2 가상 호스팅 많은 사람들에게는 비용이 드는 전용 웹 서버를 가지는 것은 낭비입니다. 따라서 컴퓨터 한 대를 여러 고객이 공유하게 해서 저렴한 웹 호스팅 서비스를 제공할 수 있습니다. 이를 공유 호스팅 또는 가상 호스팅이라고 부릅니다. 사실은 물리적으로 ..

[HTTP 완벽 가이드 17장] 내용 협상과 트랜스코딩

17.1 내용 협상 기법클라이언트 주도 (Client-Driven): 클라이언트가 요청을 보내면 서버는 선택지를 보내주고 클라이언트가 선택합니다.서버 주도 (Server-Driven): 서버가 클라이언트 요청 헤더를 검증하여 어떤 버전을 제공할지 결정합니다.투명 (Transparent): 투명한 중간 장치(주로 프락시 캐시)가 서버를 대신하여 협상합니다.17.2 클라이언트 주도 협상가능한 페이지의 목록을 서버 응답으로 돌려주어 클라이언트가 보고 싶은 것을 선택하게 하는 방식입니다.장점: 구현이 간단하고 클라이언트가 명시적으로 선택할 수 있습니다.단점: 각 페이지에 두 번의 요청이 필요하므로 성능 저하가 발생할 수 있습니다.구현 방법:서버는 클라이언트에게 선택지를 표현하기 위해 각 링크와 설명이 담긴 HT..

[HTTP 완벽 가이드 14장] 보안 HTTP

14.1 HTTP를 안전하게 만들기대량 구매, 은행 업무 등을 위해서는 HTTP와 디지털 암호화 기술을 결합해야 합니다. HTTP는 원래 평문 통신 프로토콜로, 도청이나 데이터 위조에 취약합니다. 따라서 디지털 암호화 기술을 활용하여 HTTP 트랜잭션을 안전하게 보호하는 것이 필수적입니다.서버 인증: 위조된 서버가 아닌 진짜 서버와 이야기하고 있음을 알 수 있어야 합니다. 서버 인증은 웹사이트의 신뢰성을 보장하고, 사용자가 피싱 사이트에 속아 개인 정보를 유출하는 것을 방지합니다.클라이언트 인증: 진짜 사용자와 이야기하고 있음을 알 수 있어야 합니다. 클라이언트 인증은 사용자 계정을 보호하고, 권한 없는 사용자의 접근을 차단합니다.무결성: 데이터가 위조되는 것으로부터 안전해야 합니다. 데이터 무결성은 전..

[HTTP 완벽 가이드 12장] 기본 인증

12. 기본 인증개요인증(Authentication)은 사용자가 주장하는 신원이 실제 사용자의 신원과 일치하는지를 확인하는 과정입니다. 웹 시스템에서 인증은 사용자가 시스템에 접근하기 위해 자신의 신원을 증명하는 필수적인 절차입니다. HTTP는 이러한 인증을 위한 다양한 메커니즘을 제공하며, 이를 통해 서버는 클라이언트의 신원을 확인하고 권한을 부여할 수 있습니다.12.1.1 HTTP 인증 요구/응답 프레임워크HTTP는 서버와 클라이언트 간의 상호 작용을 통해 인증을 수행합니다.인증 요구: 서버는 클라이언트의 요청에 대해 인증 정보를 요구할 수 있습니다. 이때 401 Unauthorized 상태 코드와 함께 WWW-Authenticate 헤더를 보냅니다. WWW-Authenticate 헤더에는 사용 가능..

[HTTP 완벽 가이드 10장] HTTP/2.0

1. 웹 성능 향상을 위한 새로운 기준, HTTP 2.0웹 페이지를 구성하는 다양한 요소(HTML, CSS, 이미지 등)를 효율적으로 가져와 빠르게 보여주는 것은 웹 개발의 핵심 과제입니다. 과거 HTTP 1.1 프로토콜은 한 번에 하나의 요소만 가져올 수 있어 페이지 로딩 속도가 느리고, 여러 연결을 동시에 열어야 하는 등의 한계점이 있었습니다. 이러한 문제를 해결하기 위해 등장한 것이 바로 HTTP 2.0입니다.HTTP 2.0은 Google에서 개발한 SPDY 프로토콜을 기반으로 표준화된 프로토콜로, 웹 성능을 획기적으로 향상시켰습니다. 하나의 TCP 연결을 통해 여러 개의 요청을 동시에 처리하고, 헤더를 효율적으로 압축하며, 서버가 필요한 리소스를 미리 전송하는 등 다양한 기능을 제공합니다. 2. ..

[HTTP 완벽가이드 9장] 웹 로봇

웹 로봇은 사람과의 상호작용 없이 연속된 웹 트랜잭션들을 자동으로 수행하는 소프트웨어 프로그램9.1 크롤러와 크롤링웹 크롤러 웹페이지를 한 개 가져오고, 다음 그 페이지가 가리키는 모든 웹페이지를 가져오는 것을 재귀적으로 반복하는 방식으로 웹을 순회하는 로봇9.1.1 어디에서 시작하는가: 루트 집합 루트집합: 크롤러가 방문을 시작하는 URL들의 초기 집합=> 충분히 다른 장소에서 URL을 선택하여 루트 집합을 만들어야 한다. 좋은 루트 집합이란?=> 크고 인기 있는 웹사이트, 새로 생성된 페이지들의 목록, 자주 링크되지 않는 잘 알려져 있지 않은 페이지들의 목록을 구성9.1.2 링크 추출과 상대 링크 정상화크롤러가 크롤링을 진행하면서 새 링크를 발견함에 따라 목록이 급속히 확장된다.9.1.3 순환 피하기..