HTTP 10

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

강의 소개이번에 완강한 강의는 인프런 김영한님의 대표적인 입문 강의 중 하나인"모든 개발자를 위한 HTTP 웹 기본 지식"입니다.총 41강으로 구성되어 있으며, HTTP의 기초부터 시작해서헤더 구조, 메서드, 상태 코드, 캐시, 조건부 요청, 쿠키/세션까지웹 통신의 모든 핵심 개념을 실무 관점에서 완벽하게 정리해주는 강의였습니다.백엔드 개발자로서 느낀 점HTTP는 프론트엔드와 백엔드 모두가 사용하는 가장 핵심적인 기술입니다.하지만 그만큼 당연하게 여겨지거나, 피상적으로만 이해한 채 넘어가는 경우가 많습니다.저 역시 프로젝트를 진행하면서 GET, POST, PUT 정도는 알고 사용했지만,왜 이 메서드를 써야 하는지, 서버와 브라우저가 실제로 어떤 메시지를 주고받는지,헤더에는 어떤 정보가 담기고 어떤 전략이..

HTTP 2025.07.23

[HTTP 완전 정복 시리즈] 9편 - HTTP 헤더2: 캐시와 조건부 요청

이번에는 HTTP 성능 최적화에 필수적인 '캐시'와 '조건부 요청'에 대해 다룬다. 캐시를 잘 활용하면 페이지 속도가 훨씬 빨라지고 서버 부하도 줄어든다.1. 캐시의 기본 개념같은 요청이라도 네트워크를 다시 타면 느림Cache-Control: max-age=60을 설정하면, 60초 동안은 네트워크 없이 캐시된 응답 사용 가능캐시는 메모리/디스크 등에서 빠르게 꺼내 쓸 수 있어 성능 향상2. 검증 헤더와 조건부 요청캐시 유효 시간이 지난 경우, 변경 여부만 확인하고 본문은 다운로드하지 않음주요 검증 헤더:Last-Modified: 마지막 수정 시각ETag: 리소스 고유 식별자 (해시처럼)주요 조건부 요청 헤더:If-Modified-Since: 마지막 수정 시간이 변하지 않았으면 304 응답If-None-M..

HTTP 2025.07.23

[HTTP 완전 정복 시리즈] 8편 - HTTP 헤더1: 일반 헤더

HTTP 메시지에서 중요한 역할을 하는 부분이 바로 '헤더'다. 이번 포스팅에서는 일반 헤더를 중심으로, 클라이언트와 서버가 어떻게 정보를 교환하는지를 알아본다.1. 표현 헤더란?HTTP에서는 데이터를 직접 전달하는 게 아니라 ‘표현’을 전달한다.예를 들어 회원 정보를 HTML 형식으로 응답하면 HTML로 표현한 것이다.DB에 저장된 원시 데이터는 JSON이나 HTML 등 다양한 표현으로 변환되어 전송된다.2. 콘텐츠 인코딩서버는 데이터를 압축해서 전송할 수 있다 (예: gzip).이때 Content-Encoding 헤더로 압축 방식을 클라이언트에게 알려줘야 한다.identity는 압축하지 않았다는 뜻이다.3. 콘텐츠 협상 (Content Negotiation)클라이언트는 서버에 원하는 콘텐츠 형태를 요..

HTTP 2025.07.23

[HTTP 완전 정복 시리즈] 7편 - HTTP 상태코드 완벽 정리

HTTP 통신에서 클라이언트와 서버는 요청과 응답 메시지를 주고받는다.이때 서버는 응답 메시지에 상태코드(Status Code)를 담아,요청이 성공했는지 실패했는지, 추가 동작이 필요한지를 알려준다.이번 글에서는 HTTP 상태코드 체계와 실무에서 자주 쓰이는 코드를 정리해본다. 상태코드란?서버가 요청을 처리한 결과를 숫자 코드로 표현한 것항상 응답 메시지의 첫 줄(상태 라인)에 포함된다상태코드는 100 ~ 599번대로 구성되며, 첫 자리 숫자로 의미를 구분한다코드의미예시1xx처리 중100 Continue2xx성공200 OK, 201 Created3xx리다이렉션301 Moved Permanently4xx클라이언트 오류400 Bad Request, 404 Not Found5xx서버 오류500 Internal..

HTTP 2025.07.22

[HTTP 완전 정복 시리즈] 6편 - HTTP 메서드 활용법과 설계 전략

이전 편에서는 각 HTTP 메서드의 특징과 상태코드에 대해 정리했다.이번에는 실무에서 HTTP 메서드를 어떻게 활용하는지, 그리고 RESTful API를 어떻게 설계해야 하는지에 대해 정리해본다.정적 리소스는 GET으로 단순 조회정적 리소스(예: 이미지, 정적 HTML, JS)는 GET 메서드로 간단히 조회한다.URL에 파라미터 없이 리소스 경로만으로 접근하는 것이 기본이다.예: /images/logo.pngGET + 쿼리파라미터: 검색, 필터, 정렬검색 조건, 정렬 방식, 필터링 등은 쿼리 파라미터로 전달한다.예: /posts?category=java&sort=recent다만, 리소스를 수정하는 요청에는 절대 GET을 사용하지 않아야 한다.HTML Form과 HTTP 메서드 제한 태그는 GET, POS..

HTTP 2025.07.22

[HTTP 완전 정복 시리즈] 5편 - HTTP 메서드와 상태코드 제대로 이해하기

HTTP는 단순한 요청-응답 기반의 통신 프로토콜이지만,메서드와 상태코드를 이해하는 것만으로도 API 설계와 디버깅이 훨씬 쉬워진다.이번 포스팅에서는 HTTP의 핵심 메서드들과 상태코드 체계에 대해 정리해본다.HTTP 메서드란?HTTP 메서드는 클라이언트가 서버에 어떤 작업을 요청할지 지정하는 방법이다.대표적인 메서드는 아래와 같다.메서드설명GET리소스를 조회 (서버 상태 변경 없음)POST리소스를 생성하거나 서버 처리 요청PUT리소스를 전체 수정 또는 생성PATCH리소스의 일부만 수정DELETE리소스 삭제HEAD헤더만 조회 (본문 제외)OPTIONS서버가 지원하는 메서드 확인 (주로 CORS에서 사용) 이 중 GET과 HEAD는 서버의 상태를 바꾸지 않기 때문에 안전한(Safe) 메서드로 분류된다.메서..

HTTP 2025.07.22

[HTTP 완전 정복 시리즈] 4편 - HTTP의 동작 원리와 메시지 구조

HTTP는 클라이언트와 서버가 데이터를 주고받기 위해 사용하는 프로토콜이다.지금까지는 HTTP 요청이 네트워크를 어떻게 타고 흘러가는지 살펴봤다면,이번에는 HTTP 자체가 어떻게 동작하는지,그리고 요청과 응답 메시지의 구조는 어떻게 생겼는지를 정리해본다.HTTP는 어떻게 동작하는가?HTTP는 기본적으로 클라이언트-서버 구조로 작동한다.클라이언트가 HTTP 요청을 보낸다.서버는 요청을 처리한 후 응답을 보낸다.응답을 받은 클라이언트는 이를 렌더링하거나 사용자에게 표시한다.이 흐름은 단방향이며, 클라이언트가 요청을 보내지 않으면 서버는 응답하지 않는다.무상태(Stateless) 구조HTTP는 Stateless Protocol이다.즉, 서버는 클라이언트의 이전 요청 상태를 기억하지 않는다.요청마다 독립적으로 ..

HTTP 2025.07.21

[HTTP 완전 정복 시리즈] 3편 - 웹 브라우저 요청은 어떻게 흘러가는가?

이전 글에서는 IP, TCP, DNS 같은 네트워크 구조를 살펴봤다.이번엔 실제로 브라우저에서 URL을 입력했을 때,HTTP 요청이 어떻게 흘러가고, 서버는 어떻게 응답을 주는지 전체 과정을 정리해본다.브라우저 요청 흐름 정리브라우저 주소창에 www.example.com을 입력하고 엔터를 누르면 아래 단계들이 수행된다. 1. URL 입력 → DNS 조회브라우저는 먼저 입력한 도메인을 IP 주소로 변환해야 한다.이를 위해 DNS 서버에 요청을 보내고 해당 도메인에 대응되는 IP 주소를 얻는다.예: www.example.com → 93.184.216.342. IP + Port로 TCP 연결 시도DNS를 통해 IP 주소를 얻으면, 브라우저는 해당 서버와 TCP 연결을 맺는다.기본 포트는 80 (HTTP) 또는..

HTTP 2025.07.21

[HTTP 완전 정복 시리즈] 2편 - 인터넷 통신 흐름: IP, TCP, DNS까지

HTTP를 이해하기 전에, 그 아래에서 움직이는 인터넷 통신 구조를 먼저 알아둘 필요가 있다.웹 요청은 결국 네트워크를 타고 서버에 도착하고, 그 응답이 다시 클라이언트로 돌아온다.이 흐름을 이해하면 HTTP가 어떻게 전송되는지, 왜 TCP가 필요한지, DNS가 어떤 역할을 하는지 명확해진다.인터넷 통신 흐름클라이언트가 웹 브라우저에서 주소를 입력하고 엔터를 누르면,그 요청은 여러 단계를 거쳐 서버에 도착하게 된다.1. IP 주소인터넷에서는 IP 주소를 통해 컴퓨터(노드)를 식별한다.내 컴퓨터도 IP가 있고, 접속하려는 서버도 IP를 갖고 있어야 한다.데이터는 결국 출발지 IP → 목적지 IP 방향으로 흘러간다.IP는 "주소"의 개념이고, 그 주소를 통해 데이터를 패킷(Packet)이라는 단위로 전달하게..

HTTP 2025.07.21

[HTTP 완전 정복 시리즈] 1편 - 웹 개발자라면 HTTP부터 이해하자

웹 개발을 하다 보면 자연스럽게 HTTP와 마주하게 된다.처음에는 단순히 GET이나 POST 요청만 쓰는 수준이었는데, 점점 깊게 들어갈수록HTTP가 웹의 핵심 통신 규약이라는 사실을 깨닫게 된다.이번 글에서는 HTTP의 기본 개념과 구조를 정리하면서, 왜 이것이 중요한지 복습해본다.HTTP란?HTTP는 HyperText Transfer Protocol의 약자다.원래는 HTML 문서를 전송하는 용도로 시작되었지만, 현재는 이미지, JSON, 파일 등웹에서 오가는 거의 모든 데이터가 HTTP로 전송된다.HTTP는 애플리케이션 계층에 위치한 텍스트 기반의 통신 규약이다.클라이언트-서버 구조HTTP는 클라이언트-서버 구조로 동작한다.클라이언트는 서버에 요청(request)을 보내고, 서버는 이에 응답(resp..

HTTP 2025.07.21