티스토리 뷰
반응형
어떤 것이 궁금한지
Server Side Rendering(SSR) 페이지에서도 lazy loading
이 필요할까?
왜 궁금한지
SSR은 서버에서 HTML을 생성하여 클라이언트로 보내기 때문에 초기 렌더링 속도가 빠를 것 같은데, lazy loading
으로 한 번 더 최적화할 필요가 있는지 의문이 생김.
lazy loading
이란?
최초에 모든 모듈을 가져오지 않고, 필요한 경우에만 클라이언트(브라우저)에서 모듈을 로드하여 네트워크 트래픽을 줄이고 초기 렌더링 속도를 향상시키는 기술.
필요한 상황
- 페이지 크기 최적화: 서버에서 클라이언트로 전송하는 HTML의 크기를 줄이고, 필요한 리소스만 브라우저에서 로드하여 초기 렌더링 속도를 더욱 향상.
- SSR에 적합하지 않은 라이브러리 사용: 예를 들어, 글쓰기 Editor 라이브러리는 복잡한 상태 관리와 상호작용이 많아 SSR에서 처리하기 어려운 경우가 많음. 또한, 검색 결과 노출이 필요하지 않아 클라이언트에서 동적으로 로드하면 효율적.
고려사항
SEO: 클라이언트에서 필요한 컴포넌트만 로드하는 lazy loading
은 SEO에 영향을 미칠 수 있음. 따라서 SEO가 중요한 컴포넌트는 서버에서 렌더링해야 함.
결론
- 불필요한 리소스를 클라이언트에서 미리 로드하지 않아 네트워크 사용량이 줄어들어 성능 향상이 가능.
lazy loading
을 통해 초기 렌더링 성능을 더욱 빠르게 만들 수 있음.
배운 것 / 다음 목표
-
착각: SSR이기 때문에 HTML만 서버에서 생성하여 전달하면 초기 렌더링 속도가 항상 빠를 것이라 생각했으나,
lazy loading
을 사용하면 서버에서 받는 HTML 크기를 줄여 더 빠르게 렌더링할 수 있다는 점을 간과. - SEO가 필요한 컴포넌트인지 판단하여
lazy loading
을 적절히 적용할 것. - 페이지 전체는 서버에서 렌더링하고, 일부는 클라이언트 컴포넌트로 동작하도록 설계할 것.
반응형
'개발 > 개발일지' 카테고리의 다른 글
도메인이 아닌 IP 주소에 SSL 인증서를 적용하여 배포할 수 있는가? (0) | 2024.12.18 |
---|---|
모든 컴포넌트를 lazy loading한다면? (0) | 2024.12.04 |
페이지의 접근 제한! 클라이언트/서버 어디에서 구현할지 (0) | 2024.12.03 |
현업에서 웹 접근성 얼마나 지키면서 일하시나요? (0) | 2024.12.02 |
Prop style did not match. (feat. Next.js, fullcalendar, SSR) (0) | 2022.11.17 |
TAG
- 철학
- HTTP
- IP
- 도메인
- server
- SSG
- 성능최적화
- Typescript
- SSR
- React
- 선언적 프로그래밍
- lazyloading
- s3
- base64
- 프론트엔드
- Proxy
- 웹 접근성
- Section
- Next
- toast
- CSR
- https
- styled component
- 궁금증
- editor
- 노션
- 실용주의 프로그래머
- Next.js
- 브라우저
- NextJS
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
글 보관함
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
반응형