피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Edge Caching 및 JS 제거를 통한 SSR 응답 시간 1.2s에서 140ms로 단축
Zero-JS Wasn't Enough: Edge Caching SSR HTML on Cloudflare Workers
AI 요약
Context
Zero-JS 환경 구축 이후에도 server-render variance로 인한 PageSpeed 점수 변동성 발생. Cloudflare Workers 기반 SSR 구조에서 매 요청마다 발생하는 i18n 미들웨어 및 KV Read 연산이 root document 응답 지연의 병목 지점으로 작용.
Technical Solution
- Cookie-gated Cache API 미들웨어를 도입하여 비인증 사용자 대상 HTML 응답을 Edge에서 캐싱
- 사용자 세션 쿠키 존재 여부에 따른 Cache Bypass 로직을 설계하여 개인화 페이지의 데이터 무결성 보장
- Zaraz 설정을 통한 Google Ads audience sync 비활성화로 불필요한 Client-side 외부 요청 제거
- Zod 라이브러리를 Client bundle에서 제거하고 서버 스키마와 동기화된 경량 Validation Mirror 직접 구현
- s-maxage와 Cache-Control 설정을 분리하여 Edge 캐시와 Browser 캐시의 생명주기를 독립적으로 제어
- 응답 경로 추적을 위한 X-Edge-Cache 커스텀 헤더를 추가하여 캐시 히트 여부 가시성 확보
실천 포인트
- SSR 환경에서 root document 응답 시간이 높다면 Edge Cache API 도입 검토 - 개인화 데이터가 포함된 페이지의 경우 Cookie 기반 Cache Bypass 리스트를 명확히 정의 - Third-party 스크립트가 네트워크 워터폴(Waterfall) 상에서 불필요한 대기 시간을 유발하는지 점검 - Client-side bundle 크기 최적화를 위해 무거운 Validation 라이브러리를 자체 경량 함수로 대체 고려