HTTP

[완강 인증] 인프런 김영한님의 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 마치며

dev-nadan 2025. 7. 23. 14:06

완강!

강의 소개

이번에 완강한 강의는 인프런 김영한님의 대표적인 입문 강의 중 하나인
"모든 개발자를 위한 HTTP 웹 기본 지식"입니다.

총 41강으로 구성되어 있으며, HTTP의 기초부터 시작해서
헤더 구조, 메서드, 상태 코드, 캐시, 조건부 요청, 쿠키/세션까지
웹 통신의 모든 핵심 개념을 실무 관점에서 완벽하게 정리해주는 강의였습니다.


백엔드 개발자로서 느낀 점

HTTP는 프론트엔드와 백엔드 모두가 사용하는 가장 핵심적인 기술입니다.
하지만 그만큼 당연하게 여겨지거나, 피상적으로만 이해한 채 넘어가는 경우가 많습니다.
저 역시 프로젝트를 진행하면서 GET, POST, PUT 정도는 알고 사용했지만,
왜 이 메서드를 써야 하는지, 서버와 브라우저가 실제로 어떤 메시지를 주고받는지,
헤더에는 어떤 정보가 담기고 어떤 전략이 적용되는지
에 대해서는 깊게 고민하지 못하고 있었습니다.

이번 강의를 들으면서 가장 크게 느낀 것은
HTTP는 단순한 요청/응답 구조가 아니라, 효율성과 보안, 확장성을 고려한 하나의 설계 구조라는 점이었습니다.

예를 들어,

  • 캐시를 적용할 때 단순히 Cache-Control: max-age=60을 쓰는 것이 아니라,
    조건부 요청(ETag, Last-Modified)을 조합해서 어떻게 네트워크 트래픽을 줄이고 성능을 향상시킬 수 있는지
  • 상태 코드를 단순히 200, 404 정도로 알고 있었지만,
    301/302/307의 차이, 304의 동작 원리, 401 vs 403의 구분
    실무에서 마주치는 다양한 상황에 따라 어떤 응답을 설계해야 하는지
  • Accept-Language, Accept-Encoding 등의 협상 헤더를 통해
    어떻게 클라이언트의 환경에 맞는 콘텐츠를 제공할 수 있는지
  • 쿠키와 세션을 단순 로그인 수단으로 알고 있었지만,
    어떤 보안 이슈(HTTPOnly, Secure, SameSite)가 있고,
    어떤 데이터를 서버에 저장하고 어떤 데이터는 클라이언트에 둬야 하는지

이런 실질적인 내용들을 정말 ‘백엔드 개발자’로서 필요한 관점에서 꼼꼼히 배울 수 있었습니다.

특히 좋았던 점은,
단순 이론 나열이 아니라 실제로 브라우저와 서버가 어떻게 동작하는지를 F12 개발자 도구와 함께 실습하며 이해할 수 있었다는 것입니다.
덕분에 개념이 아니라 "체화된 지식"으로 가져갈 수 있었고,
앞으로 어떤 프로젝트를 하든 HTTP를 더 명확하고 자신 있게 다룰 수 있을 것 같습니다.


앞으로의 학습 계획

이번 강의를 통해 HTTP라는 기반 지식을 탄탄히 다졌습니다.
이제부터는 이 지식을 바탕으로 실제 개발에 접목시켜보는 연습을 할 계획입니다.

  1. Spring Boot 기반 REST API 설계 실습
    • HTTP 메서드와 상태 코드, 헤더 구성, 캐시 전략 등을 직접 설계하고 구현해보기
    • Swagger를 통해 API 문서화, Postman 테스트 등도 함께 병행할 예정
  2. 네트워크 이론 정리 (OSI 7계층, TCP/UDP, 포트, 라우팅 등)
    • HTTP가 어떻게 전송 계층과 IP 계층 위에서 동작하는지 이해할 것
    • 이를 통해 성능 최적화 및 보안 설정 시 더 깊은 판단 가능
  3. 웹 보안 및 인증 구조 학습
    • HTTPS, TLS, OAuth2, JWT 등 보안 요소들을 실무에 맞게 적용할 수 있도록 정리
    • 세션과 쿠키 기반 인증 방식 비교 및 보안 이슈 대응 방법도 정리할 계획
  4. 면접 대비 요약 정리
    • HTTP 관련 면접 질문에 대한 말하기 정리 (ex. 304는 언제 발생하나요?, 쿠키와 세션 차이 등)
    • 티스토리 블로그에 “면접에서 자주 나오는 HTTP 질문 10선” 같은 글도 올릴 예정

마무리 한 줄

HTTP는 결국 모든 웹의 시작과 끝이었습니다.
기초지만 결코 얕지 않은 이 한 과목을 깊이 있게 끝낸 덕분에
이제는 웹 애플리케이션의 흐름을 더 명확하게 이해하고 설계할 수 있을 것 같습니다.

지금까지 쌓은 기록을 바탕으로,
앞으로도 하루하루 조금씩 성장하는 개발자가 되어가겠습니다.