SSG (Static-Site-Generation)
안녕하세요 여러분! 오늘은 웹 개발에서 많이 사용되는 "SSG (Static-Site-Generation)"에 대해 알아보려고 해요! 🚀
SSG는 정적인 웹 페이지를 생성하는 방식을 의미합니다. 이 방식은 사전에 웹 페이지를 미리 컴파일하여 HTML 파일로 만들고, 서버에 배포할 때마다 똑같은 내용을 제공하는 방법이에요. SSG는 빠른 로딩 속도와 보안성을 제공하면서도 개발자에게 유연성을 제공합니다. 😊
SSG의 작동 원리
SSG의 작동 원리를 간단히 설명해볼게요:
- 빌드 단계: SSG는 웹 페이지를 미리 렌더링하는 과정이 필요합니다. 개발자가 작성한 코드를 빌드하여 HTML 파일로 변환하고, 필요한 데이터를 미리 채워넣어 웹 페이지를 생성합니다.
- 배포 단계: 빌드된 정적 파일은 서버에 배포되어 클라이언트로 전달됩니다. 서버는 요청이 들어올 때마다 정적 파일을 제공합니다. 이렇게 하면 렌더링과 데이터 처리를 서버 측에서 미리 수행하므로 동적인 처리가 필요하지 않습니다.
- 클라이언트 단계: 클라이언트는 받은 정적 파일을 렌더링하여 사용자에게 보여줍니다. 클라이언트 측 JavaScript를 사용하여 동적인 기능을 제공하거나 인터랙션을 처리할 수 있어요.
SSG의 장점
SSG은 다음과 같은 장점을 가지고 있어요:
- 빠른 로딩 속도: SSG은 정적인 웹 페이지를 미리 렌더링하기 때문에 초기 로딩 속도가 매우 빠릅니다. 사용자는 웹 페이지에 즉시 접속하여 내용을 확인할 수 있어요. ⚡️
- 보안성: SSG에서는 서버 측에서 데이터의 처리와 렌더링을 수행하므로 서버와 데이터베이스에 직접적으로 접근하는 일이 없어 보안성이 향상됩니다. 🛡️
- 확장성과 유연성: 정적 파일로 미리 렌더링된 페이지는 간단한 서버에서도 호스팅할 수 있으며, 서버 부하도 적습니다. SSG는 CDN(Content Delivery Network)을 활용하여 전세계에 콘텐츠를 배포할 수도 있어요. 또한 SSG은 다양한 데이터 소스와 통합하여 동적인 내용을 처리할 수도 있어 개발자에게 유연성을 제공합니다. 💪
SSG의 구현
SSG를 구현하기 위해서는 정적 사이트 생성기를 사용해야 합니다. 예를 들어 Gatsby, Next.js의 정적 사이트 기능, Hugo 등이 있어요. 이러한 도구를 사용하여 웹 페이지를 빌드하고 정적 파일을 생성합니다.
Gatsby에서 `src/pages/index.js` 파일에서 `Home` 컴포넌트를 정의하고 내부에 HTML을 작성합니다. Gatsby는 이 파일을 빌드하여 정적 페이지로 생성하고, 배포 시 서버에 업로드합니다. 이후 사용자가 해당 페이지에 접속하면 서버로부터 정적 파일을 받아 렌더링됩니다. ✨
SSG의 활용
SSG는 다음과 같은 상황에서 활용될 수 있어요:
- 블로그나 회사 소개 페이지와 같은 정적인 컨텐츠를 가진 웹 사이트
- 페이지의 콘텐츠 변경 빈도가 낮은 웹 사이트
- 컨텐츠를 미리 렌더링하고 CDN을 활용하여 전 세계적으로 배포해야 하는 웹 사이트
SSG은 빠른 로딩 속도와 보안성을 제공하면서도 유연성을 유지하는 웹 개발 방법입니다. SSG을 사용하여 웹 페이지를 구축해보세요! 💪😄
Apple 2023 맥북 프로 14 M3
COUPANG
www.coupang.com
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'웹 개발 > 데일리 토픽' 카테고리의 다른 글
클로저 (Closure) (0) | 2024.01.16 |
---|---|
크로스 브라우징 (Cross Browsing) (1) | 2024.01.16 |
CSR vs SSR (0) | 2024.01.16 |
서버 사이드 렌더링 (SSR) (0) | 2024.01.15 |
콜백 함수 (Callback Function) (1) | 2024.01.15 |