포스트

HTTP 웹 기본 지식 복습: 섹션별 학습 시리즈

HTTP 강의를 10개 섹션으로 나누어 복습하는 시리즈 안내. 네트워크부터 메서드, 헤더, 캐시까지 연결한다.

이 글은 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 학습한 내용을 정리한 글입니다.

학습성과

HTTP 요청을 보낼 수 있다는 것과 그 요청의 의미를 설명할 수 있다는 것은 다르다. 응답이 유실되었을 때 재시도해도 되는지, 사용자별 응답을 저장해도 되는지, 같은 연결에서 여러 요청을 처리하는 것이 무상태성과 모순되는지에는 프로토콜의 기준이 필요하다.

이 시리즈는 강의의 섹션 구분에 맞춰 학습한 핵심을 정리한다. 도입과 마무리는 학습 방향을, 나머지 글은 기술 개념과 혼동하기 쉬운 경계를 다룬다. 도서 서비스라는 별도의 예시와 직접 구성한 다이어그램을 사용하고, 명세에 따른 보충 설명을 구분했다.

시리즈 상세 페이지에서 순서대로 읽기


섹션별 글


도입의 세 질문과 이어지는 글

처음에 던진 세 질문은 각각 명세의 한 문장에서 답이 시작된다. 시리즈의 어느 글로 이어지는지 함께 적어 둔다.

질문명세가 주는 기준이어지는 글
응답이 유실되었을 때 재시도해도 되는가같은 요청을 여러 번 보내도 의도한 효과가 한 번 보낸 것과 같은 메서드가 멱등하며, 클라이언트는 응답을 읽기 전에 통신이 실패하면 멱등 요청을 자동으로 반복할 수 있다 (RFC 9110 9.2.2)5편 메서드, 7편 상태 코드
사용자별 응답을 저장해도 되는가Cache-Control: private는 공유 캐시가 응답을 저장하면 안 되고, 브라우저 같은 개인 캐시는 저장해도 된다는 뜻이다 (RFC 9111 5.2.2.7)8편 헤더, 9편 캐시
같은 연결에서 여러 요청을 처리하는 것이 무상태성과 모순되는가무상태는 각 요청 메시지의 의미를 단독으로 이해할 수 있고, 연결과 메시지의 관계가 해석에 영향을 주지 않는다는 뜻이다 (RFC 9110 3.3). HTTP/1.1은 기본적으로 지속 연결을 쓴다 (RFC 9112 9.3)4편 HTTP 기본

세 번째 질문의 답은 무상태가 “연결을 매번 끊는다”는 뜻이 아니라는 데 있다. 연결은 전송 계층의 재사용이고, 무상태는 메시지 의미의 독립성이다. 둘은 서로 다른 층의 이야기라서 함께 성립한다.


요청의 흐름으로 연결하기

flowchart LR
    A[주소와 전송] --> B[대상과 메서드]
    B --> C[응답의 상태와 표현]
    C --> D[사용자 식별]
    D --> E[저장과 재검증]

처음에는 순서대로 읽고, 이후에는 문제에 맞춰 돌아오면 된다. 재시도가 고민이라면 메서드와 상태 코드 글을, 개인화된 응답을 캐시하려면 쿠키와 캐시 글을 함께 본다.

본문의 메시지와 설계 예시는 이해를 위한 구성이지 실행 결과가 아니다. 원 강의의 상세 설명은 각 글의 참고 링크에서 이어 볼 수 있다.

참고한 자료외부 출처 2

외부 출처

실시간 처리와 캐시
이 글은 저작권자의 CC BY 4.0 라이선스를 따릅니다.

댓글

아직 댓글이 없습니다