본문 바로가기
1️⃣ 개발 지식 A+/책으로 스터디

HTTP 완벽가이드 - 1부 HTTP: 웹의 기초

by ddubbu 2025. 1. 6.

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: 요청 파이프라이닝?