TIME_WAIT란? TIME_WAIT은 TCP 통신에서 연결이 종료된 후 일정 시간 동안 종료한 측(보통 클라이언트)이 연결 정보를 보관하고 대기하는 상태이다. 이 상태는 단순히 연결을 닫았다고 끝나는 것이 아니라 신뢰성을 확보하기 위해 반드시 거쳐야 하는 상태다.
OSI(Open Systems Interconnection) 7계층은 네트워크 통신이 어떻게 이루어지는지를 단계별로 나눈 표준 참조 모델이다. 이는 ISO(국제표준화기구)에서 제안한 모델로 서로 다른 시스템 간의 네트워크 통신이 원활하게 이루어질 수 있도록 체계적으로
TCP/IP 모델이란? TCP/IP는 Transmission Control Protocol / Internet Protocol의 약자로 데이터를 안정적이고 정확하게 전송하기 위한 네트워크 프로토콜의 집합이다. 1970년대 미 국방부(DoD)가 설계하고 개발하였으며 오늘
1. IPv4 (Internet Protocol version 4)
HTTP는 애플리케이션 계층의 프로토콜이지만 그 성능과 안정성은 결국 TCP 커넥션 관리에 크게 의존한다. 단순히 요청과 응답만 오가는 것처럼 보이지만 실제로는 연결 수립(TCP 3-way handshake), 종료, 재사용, 파이프라이닝, 병렬성 같은 커넥션 관리 전
HTTP는 클라이언트(브라우저, 앱)와 서버 간의 요청-응답 프로토콜이다. 그 중심에는 웹 서버(Web Server)가 있다. 웹 서버는 단순히 정적 파일을 내려주는 역할을 넘어서 동적 애플리케이션 실행, 보안 관리, 캐싱, 로드 밸런싱 등 웹 서비스의 핵심 엔진으로
서비스를 운영하다 보면 “이 자원은 어디에 있고 무엇을 가리키며 어떻게 식별되는가?”가 항상 문제의 시작점이다. URL은 단순한 문자열이 아니라 리소스 식별자이자 라우팅, 캐시, 보안, SEO까지 건드리는 핵심 인터페이스다. 이번 장을 읽고 URL을 “문자열”이 아니라
서비스를 운영하다 보면 직접 클라이언트와 서버가 붙지 않고 중간에 뭔가가 개입되는 경우가 많다. 보안, 캐싱, 필터링, 로드밸런싱 같은 이유 때문이다. 그 역할을 맡는 것이 바로 프락시(Proxy)다. 단순히 중계자에 불과해 보이지만 웹 트래픽의 성능·보안·운영 효율성
웹 서비스 운영에서 가장 중요한 목표 중 하나는 빠른 응답 속도와 서버 부하 감소다. 모든 요청을 서버까지 보내면 네트워크 지연(latency)과 서버 과부하가 필연적으로 발생한다. 이를 해결하는 핵심 전략이 바로 캐시(Cache)다. 캐시는 자주 사용되는 리소스를 중
웹 아키텍처는 단순히 클라이언트와 서버가 직접 연결되는 구조로 끝나지 않는다. 실제 서비스에서는 다양한 네트워크 경계, 보안 요건, 프로토콜 차이를 넘기 위해 중간 장치(intermediary)들이 존재한다. 이번 장에서 다루는 게이트웨이, 터널, 릴레이는 그런 통합점
웹은 사람이 직접 브라우저로 탐색하는 것뿐만 아니라 프로그램이 자동으로 탐색하기도 한다. 이 자동 탐색 프로그램을 웹 로봇(Web Robot), 혹은 크롤러(Crawler), 스파이더(Spider)라고 부른다. 검색 엔진의 핵심은 바로 이 로봇이며 단순 데이터 수집부터
HTTP/1.1은 웹의 표준으로 오랫동안 사용되었지만 성능 면에서 한계가 분명했다. 특히 지연(latency) 문제와 커넥션 관리 문제 때문에 웹페이지 로딩 속도가 느려졌다.요청당 하나의 커넥션 제한 → 다중 연결, 파이프라이닝의 한계헤더 중복 전송, 텍스트 기반 메시
HTTP는 무상태(stateless)라서 요청 간 컨텍스트가 자동으로 이어지지 않는다. 하지만 현실의 웹은 로그인/장바구니/개인화처럼 “누가, 무엇을 하고 있었는가”를 기억해야 한다. 초창기엔 IP 기반 식별, User-Agent/From/Referer 같은 헤더, U
HTTP는 본질적으로 무상태(stateless) 프로토콜이기 때문에 어떤 사용자가 어떤 자원에 접근할 수 있는지 서버가 알 수 없다. 따라서 인증(Authentication) 메커니즘이 필요하다. 그 중 가장 단순하면서도 초창기부터 정의된 방식이 바로 기본 인증(Bas
HTTP는 기본적으로 무상태(stateless) 프로토콜이다. 즉, 요청 하나만으로는 이 요청자가 누구인지 알 수 없다. 그래서 인증(Authentication) 메커니즘이 필요하다.초창기에는 Basic 인증이 사용되었는데, 이는 단순히 username:password
HTTP는 원래 단순 문서 전송을 목적으로 설계되었기 때문에 보안(Security) 측면에서 많은 약점을 가지고 있다. 특히 웹이 전자상거래, 금융 서비스, 개인정보 처리에 쓰이면서 안전한 데이터 전송, 사용자 인증, 접근 제어, 무결성 보장, 프라이버시 보호가 필수