401 vs 403 차이 — 인증과 인가를 구분하는 기준
401 이름이 Unauthorized인데 인증 실패고, 403 이름이 Forbidden인데 인가 실패다. 헷갈리는 이름의 역설과 실무 판단 기준, JWT 만료를 401로 처리해야 하는 이유, 보안 목적으로 404를 쓰는 패턴까지 Express 코드로 정리했다.
401 이름이 Unauthorized인데 인증 실패고, 403 이름이 Forbidden인데 인가 실패다. 헷갈리는 이름의 역설과 실무 판단 기준, JWT 만료를 401로 처리해야 하는 이유, 보안 목적으로 404를 쓰는 패턴까지 Express 코드로 정리했다.
HTTPS 없이 배포하면 Geolocation, Service Worker, Secure 쿠키가 조용히 동작을 멈춘다. 보안 이전에 기능 문제다. Let’s Encrypt 무료 인증서 설정, HSTS, Cloudflare 주의 사항까지 실무 기준으로 정리했다.
XSS 방어를 코드로 정리했다. innerHTML 대신 textContent 쓰는 이유, React에서 DOMPurify 사용법, Express HttpOnly 쿠키 설정, CSP 헤더 설정까지. 개념 말고 바로 적용할 수 있는 6가지 체크리스트.
쿠키 vs 세션 vs 토큰, 세 가지는 경쟁하는 개념이 아니다. HttpOnly·SameSite 보안 설정으로 XSS·CSRF를 막는 법과 Access/Refresh Token 로테이션 패턴을 Node.js 코드와 함께 정리했다. 서비스 규모별 선택 기준을 바로 확인하자.