태그: #web
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 12 편
657,607개의 링크를 따라가 본 결과와 URL 수명 — 링크는 왜 404가 아니라 연결 실패로 죽는가
2009년부터 2014년 사이에 만들어진 단축 링크 65만여 개를 2026년에 전부 따라가 본 조사가 공개됐습니다. 결과보다 중요한 것은 실패의 구성입니다. 죽은 링크의 대부분은 404가 아니라 연결 자체가 되지 않는 상태였고, 이는 내용이 옮겨진 것이 아니라 인프라가 사라졌다는 뜻입니다. 조사 방법의 한계까지 짚은 뒤에, 외부 URL을 데이터로 보관하는 시스템에서 무엇을 다르게 해야 하는지
2026-08-14 · 13 분 읽기 #web#data-engineering#archival#reliability#url-designCORS 에러, 서버를 고쳐야 하는 이유 — 브라우저 정책의 정확한 동작과 잘못된 해법들
CORS는 서버를 지키는 보안 장치가 아니라 브라우저가 스크립트에게 응답을 읽게 해 줄지 판단하는 정책입니다. 그래서 curl은 되고 브라우저만 막히며, 고칠 곳은 언제나 서버의 응답 헤더입니다. 프리플라이트가 발생하는 정확한 조건, credentials를 쓸 때 와일드카드를 못 쓰는 이유, Vary 헤더가 없어서 CDN 캐시가 오염되는 사고, 브라우저 에러 메시지별 원인 해독표를 정리했습니
2026-07-26 · 25 분 읽기 #web#cors#http#browser-security#api웹소켓, SSE, 폴링 — 실시간 통신 방식 고르기와 대부분 웹소켓이 필요 없는 이유
실시간이라는 요구사항 대부분은 서버에서 클라이언트로 가는 단방향 전달이고, 그런 경우 SSE가 웹소켓보다 훨씬 단순하면서 HTTP 인프라를 그대로 씁니다. 자동 재연결과 Last-Event-ID 재개가 규격에 내장되어 있고 인증과 로깅과 압축이 평소 쓰던 것과 같습니다. 폴링과 롱폴링을 포함한 네 방식의 지연과 비용을 표로 비교하고, 웹소켓이 정말 필요한 경계를 정합니다. 프록시 유휴 타임아
2026-07-26 · 24 분 읽기 #web#websocket#server-sent-events#realtime#scalabilityJWT와 세션, 무엇을 언제 — 상태를 어디에 둘 것인가로 정리하는 인증 선택
JWT와 세션의 차이는 암호화나 성능이 아니라 인증 상태를 서버에 둘 것인가 클라이언트에 둘 것인가 하나입니다. 이 선택에서 즉시 무효화 불가능이라는 JWT의 근본 약점이 따라 나오고, 짧은 만료와 리프레시 토큰과 블랙리스트라는 대응책이 왜 결국 상태를 다시 불러들이는지가 설명됩니다. 토큰 저장 위치를 두고 벌어지는 localStorage의 XSS 노출과 httpOnly 쿠키의 CSRF 노출
2026-07-26 · 23 분 읽기 #web#jwt#session#authentication#securityHTTP 캐싱 제대로 쓰기 — Cache-Control, ETag, stale-while-revalidate의 정확한 의미
no-cache는 캐시하지 말라는 뜻이 아니라 캐시하되 쓰기 전에 검증하라는 뜻입니다. 이 한 글자 차이를 시작으로 Cache-Control 지시어의 정확한 의미, 조건부 요청과 304가 실제로 절약하는 것과 절약하지 못하는 것, 해시 파일명과 immutable이 프런트엔드 배포의 표준이 된 이유를 정리했습니다. 브라우저와 CDN과 리버스 프록시라는 세 계층이 서로 다른 방식으로만 무효화된다
2026-07-26 · 20 분 읽기 #web#http-caching#cache-control#cdn#performance레이트 리밋 알고리즘 고르기 — 고정 윈도우, 슬라이딩, 토큰 버킷의 실제 차이
분당 100회로 막았는데 200회가 통과하는 것은 버그가 아니라 고정 윈도우 알고리즘의 정의된 동작입니다. 고정 윈도우, 슬라이딩 로그, 슬라이딩 윈도우 카운터, 토큰 버킷 네 가지의 메모리와 정확도 트레이드오프를 표로 비교하고 경계 문제를 숫자로 확인합니다. 분산 환경에서 레디스 원자적 연산이 왜 필요한지, 노드별 로컬 리밋이 만드는 오차가 얼마나 되는지, IP를 키로 삼으면 무엇이 깨지는
2026-07-26 · 22 분 읽기 #web#rate-limiting#api-design#redis#reliabilityContent-Encoding: zstd, Safari 26.3으로 3대 엔진이 채워졌다 — 그리고 다음 단계인 RFC 9842 사전 압축
2026년 2월 Safari 26.3이 Content-Encoding: zstd를 지원하면서, Chrome 123(2024-03)·Firefox 126(2024-05)에 이어 3대 브라우저 엔진이 모두 zstd 응답을 받게 됐습니다. 협상 기반이라 도입 리스크는 낮지만, 서버 쪽은 아직 비대칭입니다 — nginx와 Apache httpd에는 공식 zstd 모듈이 없고, 현실적인 경로는 CDN
2026-07-17 · 20 분 읽기 #performance#web#network#browserURL을 입력하고 엔터를 누르면 벌어지는 일: 브라우저·DNS·TCP·TLS·HTTP·렌더링 전 구간 투어
주소창에 URL을 치고 엔터를 누르는 그 1초 사이에 얼마나 많은 일이 일어날까요. URL 파싱부터 DNS 재귀 질의와 캐시, TCP 3-way 핸드셰이크, TLS 핸드셰이크, HTTP 요청과 응답, 그리고 HTML 파싱과 크리티컬 렌더링 경로까지. 브라우저부터 픽셀까지 전 구간을 한 번에 훑는 웹 스택 투어입니다.
2026-07-02 · 21 분 읽기 #networking#web#fundamentalsRust로 웹 API 만들기: Axum과 Actix
Rust로 웹 백엔드를 만드는 실전 안내입니다. Axum의 핸들러·추출기·라우팅·공유 상태, tower 미들웨어, serde로 JSON 다루기, sqlx로 데이터베이스 연동, 견고한 에러 처리, 그리고 대표 경쟁자인 Actix Web과의 비교까지 예제 중심으로 정리합니다.
2026-06-28 · 18 분 읽기 #rust#web#axum#backend연령 인증 의무화 시대 — 프라이버시를 지키는 인증 기술은 가능한가
소셜미디어 연령 인증 의무화 흐름과 그에 대한 프라이버시 우려를 짚고, 영지식 증명, Verifiable Credentials와 selective disclosure(SD-JWT), eIDAS 2.0 디지털 지갑, 디바이스 측 검증 모델까지 프라이버시를 보존하는 인증 기술을 개발자 관점에서 정리합니다. 기술이 풀 수 있는 것과 풀 수 없는 정책 문제를 균형 있게 다룹니다.
2026-06-12 · 27 분 읽기 #privacy#identity#zero-knowledge#verifiable-credentials#securityHTTP/3 & QUIC 심화 완전 가이드 2025: 0-RTT, Connection Migration, 멀티플렉싱
HTTP/3와 QUIC의 모든 것! HTTP 진화(1.0 → 3), QUIC 프로토콜 내부, UDP 위의 신뢰성, 0-RTT 핸드셰이크, Connection Migration, Stream 멀티플렉싱, HTTP/3 Push, 배포 전략.
2026-04-15 · 16 분 읽기 #http3#quic#http2#tls#networkingTypeScript & Next.js 실전 가이드 — 타입 안전한 풀스택 개발
TypeScript의 고급 타입 시스템부터 Next.js 15 App Router, Server Components, Server Actions까지 모던 웹 개발의 모든 것.
2026-04-12 · 29 분 읽기 #ai#typescript#nextjs#react#fullstack