TODO: 빨간색은 추가로 넣을 예정인 컨텐츠 입니다.
1장 HTTP 개관
- 페이지 레이아웃을 서술하는 HTML 뼈대를 한번의 트랜잭션으로 가져온 뒤, 이미지 등 추가 리소스를 가져오기 위해 추가 트랜잭션 수행 (트랜잭션이란, 요청 & 응답으로 구성됨)
- HTTP 메시지는 단순한 줄 단위의 문자열이다.
- TCP/IP 연결 통로가 만들어지고 나서는 단순히 read, write 하는 파일 시스템과 같다.
- 그렇기 때문에 메시지 템플릿 (시작줄 / 헤더 / 본문) 구분이 중요함
- TODO: nodeJS listen API 가 내부적으로 숨기고 있는 기능 추가하기
- 웹 브라우저 (곧 클라이언트)는 서버의 URL에서 호스트명을 추출해 IP로 변환한다. 그리고 포트번호도 있다면 추출한다. 이 두 정보를 토대로 TCP 커넥션을 맺는다.
2장 URL과 리소스
- URL은 (스킴://서버위치/경로) 구조로 이루어짐
- 알파벳, 숫자 외에도 사용할 수 있도록 URL 인코딩 규칙 필요함
- TODO: Dynamic Link - URLEoncoding
3장 HTTP 메시지
- 응답의 프로토콜 버전이 HTTP/1.1 이라는 것은, 해당 서버가 HTTP/1.1 까지 이해할 수 있음을 의미한다.
4장 커넥션 관리
- HTTP 트랜잭션의 성능은 그 아래 계층인 TCP 성능에 영향을 받는다.
- 트랜잭션을 처리하는 시간은 TCP 커넥션을 설정 + 트랜잭션 요청 + 응답 시간에 비하면 상당히 짧을 수 있다. 즉 대부분의 HTTP 지연은 TCP 네트워크 지연 때문에 발생한다.
- 그렇기 때문에 최근 HTTP/1.1 프로토콜에서는 '지속' 커넥션이 기본으로 활성화되어 있다.
- TODO: 요청 파이프라이닝?
'1️⃣ 개발 지식 A+ > 책으로 스터디' 카테고리의 다른 글
이펙티브 개발자 (1) | 2025.01.01 |
---|---|
[Introduction To Algorithms] CH1. 알고리즘의 역할 (0) | 2024.07.24 |
[41장] 모던딥 자바스크립트 Deep Dive (1) | 2023.12.17 |
[37장] 모던딥 자바스크립트 Deep Dive (1) | 2023.12.10 |
[31-33장] 모던딥 자바스크립트 Deep Dive (2) | 2023.12.03 |