HTTP 통합 포스팅
HTTP 통합 포스팅 이 포스팅에서는 HTTP와 관련된 여러 주제들을 통합하여 정리하고자 합니다. 각 주제별로 핵심 개념을 정리하고, 이해도를 높이기 위한 연습문제를 포함하고 있습니다. 자세한 내용은 각 주제의 개별 포스팅을 참고하시기 바랍니다. 인터넷 네트워크 포스팅에서는 인터넷에서의 통신이 어떻게 이루어지는지 알아보았습니다. 주요 개념 ...
HTTP 통합 포스팅 이 포스팅에서는 HTTP와 관련된 여러 주제들을 통합하여 정리하고자 합니다. 각 주제별로 핵심 개념을 정리하고, 이해도를 높이기 위한 연습문제를 포함하고 있습니다. 자세한 내용은 각 주제의 개별 포스팅을 참고하시기 바랍니다. 인터넷 네트워크 포스팅에서는 인터넷에서의 통신이 어떻게 이루어지는지 알아보았습니다. 주요 개념 ...
멀티 쓰레드(동시 요청) 정리 개요 웹 애플리케이션 서버(WAS)가 어떻게 동시 요청을 처리하는지, 그리고 멀티스레드와 스레드 풀(Thread Pool)에 대해 알아봅니다. 이를 이해하면 트래픽 급증 상황에서 안정적인 서비스 제공 방법과 성능 튜닝의 핵심 포인트를 파악할 수 있습니다. 요청 처리와 스레드(Thread)의 개념 스레드(Threa...
서블릿(Servlet) 정리 개요 이번 시간에는 서블릿(Servlet)에 대해 알아봅니다. 서블릿은 HTTP 기반의 웹 애플리케이션 개발 시, 반복적으로 처리해야 하는 HTTP 요청/응답 처리 과정을 대신 수행해주어 개발자가 비즈니스 로직에 집중할 수 있도록 하는 핵심 기술입니다. 왜 서블릿인가? 초기 상황 가정 HTML 폼을 이용해 사용자의 이...
웹 서버(Web Server)와 웹 애플리케이션 서버(WAS) 정리 개요 이번 글에서는 웹 서버(Web Server)와 웹 애플리케이션 서버(Web Application Server, 이하 WAS)의 개념과 차이점을 살펴봅니다. HTTP를 기반으로 하는 웹 환경에서 이들이 어떤 역할을 담당하며, 실제 시스템 구성 시 어떻게 활용되는지 이해하는 데 도...
Spring MVC Part I 대부분의 현대 애플리케이션은 웹 환경에서 동작하는 웹 애플리케이션입니다. 자바 백엔드 개발자는 이러한 웹 애플리케이션 개발 시 대개 스프링 MVC를 활용합니다. 스프링 MVC는 복잡한 웹 애플리케이션을 손쉽게 구현할 수 있도록 도와주는, 실무에서 널리 사용되는 자바 웹 프레임워크입니다. 그런데 자바 백엔드 웹 기술은...
웹 캐시와 조건부 요청 본 포스팅에서는 웹 애플리케이션 성능 향상의 핵심 요소인 캐시(Cache)와 조건부 요청(Conditional Request)을 다룹니다. 캐시의 기본 동작부터 검증 헤더(Verification Header), 조건부 요청, ETag, 그리고 프록시 캐시(Proxy Cache)와 캐시 무효화 전략까지 폭넓게 살펴봅니다. 이를...
HTTP 헤더 정리 이번 글에서는 HTTP 헤더에 대한 전반적인 개요와, 표현(Representation), 콘텐츠 협상(Content Negotiation), 전송 방식, 일반 정보 헤더, 특별한 정보 헤더, 인증 헤더, 그리고 쿠키에 대해 정리하였습니다. 최신 스펙을 중심으로, 과거 용어와 개념에서 어떻게 변화했는지까지 포함해 설명합니다. HT...
HTTP 상태코드 소개 이번 포스팅에서는 HTTP 상태코드에 대해 알아보겠습니다. 클라이언트(브라우저)가 서버로 요청(Request)을 보내면, 서버는 응답(Response)을 돌려주는데, 이 때 요청이 정상 처리되었는지, 혹은 문제가 있는지 상태코드(Status Code)를 통해 알려줍니다. 상태코드는 크게 다음과 같은 5가지 범위로 나눌 수 있습...
파서는 무엇인가? 파서는 데이터 스트림을 읽고 규칙에 따라 토큰으로 분해하는 도구입니다. 이러한 규칙의 집합을 문법(grammar)이라고 합니다. 프로그래밍 언어의 경우, 파서는 코드의 각 줄을 읽어 들이고 이를 토큰으로 분해하여 그 의미를 파악합니다. 예를 들어, A = 14라는 코드를 파싱하면 다음과 같은 토큰으로 분해됩니다: A: ...
회원 관리 API 설계 (Post 기반 등록) HTTP API를 사용하여 회원 관리용 API를 개발한다고 가정해봅시다. 이때 URI와 HTTP 메서드인 GET, POST, PUT, DELETE를 어떻게 사용해야 하는지 살펴보겠습니다. 리소스 식별과 HTTP 메서드의 역할 리소스 식별: URI는 리소스를 식별해야 합니다. “조회하다”, “삭제...