Skip to content

learning-with/http-reading-perfect-guide

Repository files navigation

HTTP 완벽 가이드


표지
  • 저자: 데이빗 고울리, 브라이언 토티, 마조리 세이어, 세일루 레디, 안슈 아가왈
  • 웹은 어떻게 동작하는가

🫂 팀원 소개


마님 프로필 굉스터 프로필 진채영 프로필 김은채 프로필
마님 굉스터 진채영 김은채

📌 진행 방식


  • 스터디는 매주 금요일 오후 8시 진행
  • 매주 2개의 장 진행
  • 약 1시간 진행 예상
    • 30분(요약, 추가정리 내용 공유) + 30분(토론, 의견 나누기)
    • 토론 주제 정하는 사람이 공부 내용 정리 발표
      • 토론 주제는 수 자정까지 Discord 공지로 공유
      • 토론 내용은 주제 정한 사람이 정리 후 업로드
    • 순서
      • 김은채
      • 굉스터
      • 마님
      • 진채영
  • 스터디 일정 변경, 취소는 최소 하루 전 연락
  • 2연속 취소 시 벌금 50,000원
  • 커밋 메시지 형식
    • [1장] HTTP 개관 - 채영
    • [20장] 리다이렉션과 부하 균형 - 은채

👨‍🎨목차


I. HTTP: 웹의 기초

1장 HTTP 개관

  • 1.1 HTTP: 인터넷의 멀티미디어 배달부
  • 1.2 웹 클라이언트와 서버
  • 1.3 리소스
  • 1.4 트랜잭션
  • 1.5 메시지
  • 1.6 TCP 커넥션
  • 1.7 프로토콜 버전
  • 1.8 웹의 구성요소
  • 1.9 시작의 끝
  • 1.10 추가 정보

2장 URL과 리소스

  • 2.1 인터넷의 리소스 탐색하기
  • 2.2 URL 문법
  • 2.3 단축 URL
  • 2.4 안전하지 않은 문자
  • 2.5 스킴의 바다
  • 2.6 미래
  • 2.7 추가 정보

3장 HTTP 메시지

  • 3.1 메시지의 흐름
  • 3.2 메시지의 각 부분
  • 3.3 메서드
  • 3.4 상태 코드
  • 3.5 헤더
  • 3.6 추가 정보

4장 커넥션 관리

  • 4.1 TCP 커넥션
  • 4.2 TCP의 성능에 대한 고려
  • 4.3 HTTP 커넥션 관리
  • 4.4 병렬 커넥션
  • 4.5 지속 커넥션
  • 4.6 파이프라인 커넥션
  • 4.7 커넥션 끊기에 대한 미스터리
  • 4.8 추가 정보

II. HTTP 아키텍처

5장 웹 서버

  • 5.1 다채로운 웹 서버
  • 5.2 간단한 펄 웹 서버
  • 5.3 진짜 웹 서버가 하는 일
  • 5.4 단계 1: 클라이언트 커넥션 수락
  • 5.5 단계 2: 요청 메시지 수신
  • 5.6 단계 3: 요청 처리
  • 5.7 단계 4: 리소스의 매핑과 접근
  • 5.8 단계 5: 응답 만들기
  • 5.9 단계 6: 응답 보내기
  • 5.10 단계 7: 로깅
  • 5.11 추가 정보

6장 프락시

  • 6.1 웹 중개자
  • 6.2 왜 프락시를 사용하는가?
  • 6.3 프락시는 어디에 있는가?
  • 6.4 클라이언트 프락시 설정
  • 6.5 프락시 요청의 미묘한 특징들
  • 6.6 메시지 추적
  • 6.7 프락시 인증
  • 6.8 프락시 상호운용성
  • 6.9 추가 정보

7장 캐시

  • 7.1 불필요한 데이터 전송
  • 7.2 대역폭 병목
  • 7.3 갑작스런 요청 쇄도(Flash Crowds)
  • 7.4 거리로 인한 지연
  • 7.5 적중과 부적중
  • 7.6 캐시 토폴로지
  • 7.7 캐시 처리 단계
  • 7.8 사본을 신선하게 유지하기
  • 7.9 캐시 제어
  • 7.10 캐시 제어 설정
  • 7.11 자세한 알고리즘
  • 7.12 캐시와 광고
  • 7.13 추가 정보

8장 통합점: 게이트웨이, 터널, 릴레이

  • 8.1 게이트웨이
  • 8.2 프로토콜 게이트웨이
  • 8.3 리소스 게이트웨이
  • 8.4 애플리케이션 인터페이스와 웹 서비스
  • 8.5 터널
  • 8.6 릴레이
  • 8.7 추가 정보

9장 웹 로봇

  • 9.1 크롤러와 크롤링
  • 9.2 로봇의 HTTP
  • 9.3 부적절하게 동작하는 로봇들
  • 9.4 로봇 차단하기
  • 9.5 로봇 에티켓
  • 9.6 검색엔진
  • 9.7 추가 정보

10장 HTTP/2.0

  • 10.1 HTTP/2.0의 등장 배경
  • 10.2 개요
  • 10.3 HTTP/1.1과의 차이점
  • 10.4 알려진 보안 이슈
  • 10.5 추가 정보

III. 식별, 인가, 보안

11장 클라이언트 식별과 쿠키

  • 11.1 개별 접촉
  • 11.2 HTTP 헤더
  • 11.3 클라이언트 IP 주소
  • 11.4 사용자 로그인
  • 11.5 뚱뚱한 URL
  • 11.6 쿠키
  • 11.7 추가 정보

12장 기본 인증

  • 12.1 인증
  • 12.2 기본 인증
  • 12.3 기본 인증의 보안 결함
  • 12.4 추가 정보

13장 다이제스트 인증

  • 13.1 다이제스트 인증의 개선점
  • 13.2 요약 계산
  • 13.3 보호 수준(Quality of Protection) 향상
  • 13.4 실제 상황에 대한 고려
  • 13.5 보안에 대한 고려사항
  • 13.6 추가 정보

14장 보안 HTTP

  • 14.1 HTTP를 안전하게 만들기
  • 14.1.1 HTTPS
  • 14.2 디지털 암호학
  • 14.3 대칭키 암호법
  • 14.4 공개키 암호법
  • 14.5 디지털 서명
  • 14.6 디지털 인증서
  • 14.7 HTTPS의 세부사항
  • 14.8 진짜 HTTPS 클라이언트
  • 14.9 프락시를 통한 보안 트래픽 터널링
  • 14.10 추가 정보 388

IV. 엔터티, 인코딩, 국제화

15장 엔터티와 인코딩

  • 15.1 메시지는 컨테이너, 엔터티는 화물
  • 15.2 Content-Length: 엔터티의 길이
  • 15.3 엔터티 요약
  • 15.4 미디어 타입과 차셋(Charset)
  • 15.5 콘텐츠 인코딩
  • 15.6 전송 인코딩과 청크 인코딩
  • 15.7 시간에 따라 바뀌는 인스턴스
  • 15.8 검사기와 신선도
  • 15.9 범위 요청
  • 15.10 델타 인코딩
  • 15.11 추가 정보

16장 국제화

  • 16.1 국제적인 콘텐츠를 다루기 위해 필요한 HTTP 지원
  • 16.2 문자집합과 HTTP
  • 16.3 다중언어 문자 인코딩에 대한 지침
  • 16.4 언어 태그와 HTTP
  • 16.5 국제화된 URI
  • 16.6 기타 고려사항
  • 16.7 추가 정보

17장 내용 협상과 트랜스코딩

  • 17.1 내용 협상 기법
  • 17.2 클라이언트 주도 협상
  • 17.3 서버 주도 협상
  • 17.4 투명 협상
  • 17.5 트랜스코딩
  • 17.6 다음 단계
  • 17.7 추가 정보

V. 콘텐츠 발행 및 배포

18장 웹 호스팅

  • 18.1 호스팅 서비스
  • 18.2 가상 호스팅
  • 18.3 안정적인 웹 사이트 만들기
  • 18.4 웹 사이트 빠르게 만들기
  • 18.5 추가 정보

19장 배포 시스템

  • 19.1 배포 지원을 위한 FrontPage 서버 확장
  • 19.2 WebDAV와 공동 저작
  • 19.3 추가 정보

20장 리다이렉션과 부하 균형

  • 20.1 왜 리다이렉트인가?
  • 20.2 리다이렉트 할 곳
  • 20.3 리다이렉션 프로토콜의 개요
  • 20.4 일반적인 리다이렉션 방법
  • 20.5 프락시 리다이렉션 방법
  • 20.6 캐시 리다이렉션 방법
  • 20.7 인터넷 캐시 프로토콜
  • 20.8 캐시 배열 라우팅 프로토콜
  • 20.9 하이퍼텍스트 캐싱 프로토콜
  • 20.10 추가 정보

21장 로깅과 사용 추적

  • 21.1 로그란 무엇인가?
  • 21.2 로그 포맷
  • 21.3 적중 계량하기
  • 21.4 개인 정보 보호에 대해
  • 21.5 추가 정보

VI. 부록

부록 A URI 스킴

부록 B HTTP 상태 코드

  • B.1 상태 코드 분류
  • B.2 상태 코드

부록 C HTTP 헤더 레퍼런스

부록 D MIME 타입

  • D.1 배경
  • D.2 MIME 타입 구조
  • D.3 MIME 타입 IANA 등록
  • D.4 미디어 타입 표

부록 E base-64 인코딩

  • E.1 Base-64 인코딩은 이진 데이터를 안전하게 만들어준다
  • E.2 8비트를 6비트로
  • E.3 Base-64 패딩
  • E.4 펄 구현
  • E.5 추가 정보

부록 F 다이제스트 인증

  • F.1 다이제스트 WWW-Authenticate 지시자들
  • F.2 다이제스트 Authorization 지시자들
  • F.3 다이제스트 Authentication-Info 지시자들
  • F.4 참조 코드

부록 G 언어 태그

  • G.1 첫 번째 서브태그 규칙
  • G.2 두 번째 서브태그 규칙
  • G.3 IANA에 등록된 언어 태그들
  • G.4 ISO 639 언어 코드
  • G.5 ISO 3166 국가 코드
  • G.6 언어 관리 단체

부록 H MIME 문자집합 등록

About

HTTP 완벽 가이드

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •