해결된 질문
작성
·
195
·
수정됨
0
안녕하세요,
강의 2.14에서 이전에 SSR로 만들었던 페이지를 SSG로 변경하는 것 관련하여 질문이 있습니다.
SSG에서는 빌드타임에 페이지를 생성하기 때문에 쿼리스트링을 불러올 수 없어서 SSG로 만들고 싶다면 쿼리스트링 가져오는 부분은 클라이언트 사이드쪽에 코드를 추가해주면 가능하다고 하셨는데, 그럼 이 프로젝트의 검색페이지 같은 경우는 SSR를 사용하는게 나은지 SSG를 사용하는게 나은지 궁금합니다. 둘다 장단점이 있기 때문에 개발자의 판단에 달려있는걸까요? 쿼리스트링을 사용하는 페이지에서 어떤 경우에는 SSR로 만드는게 낫고 어떤경우에는 SSG로 만드는게 나을지 그 기준에 대해서도 궁금합니다.
강의 너무 잘 듣고 있습니다. 감사합니다.
++
다른 비슷한 질문에 답변 다신 것 읽어봤는데 SSG는 식당에서 반찬을 먼저 주는 것과 같다고 말씀하셔서 이해가 잘되었습니다. 근데 SSG의 단점이 최신 데이터의 반영은 어려운것이기 때문에 데이터가 잘 변경되지 않는 페이지에서 사용하는 것이 좋다고 하셨는데, 그럼 검색페이지의 검색결과가 계속 바뀐다고 가정하면 (책 데이터가 계속 추가됨) SSR을 사용하는게 나은가요? 아니면 그 부분은 어차피 클라이언트 사이드에서 쿼리스트링 추가해서 다시 새로 불러오기 때문에 SSG로 사용해도 무방한가요? 거의 다 이해한 것 같은데 조금 헷갈리네요 ㅎㅎ
답변 2
0
안녕하세요 이정환입니다.
결론적으로 이 부분에서는 강의에서 안내드린 것 처럼 SSG + CSR로 사용하시는게 더 좋을 것 같습니다.
먼저 SSG의 단점인 "최신 데이터의 반영이 어렵다" 라는 부분은 CSR을 사용하지 않고 서버측에서 모든 데이터를 불러오는 상황에만 국한되는 이야기입니다.
따라서 해당 페이지의 검색 결과가 CSR로 불러와지면 안되는 상황이 아니라면 (SEO를 고려해야 한다거나 등...) SSG + CSR 방식을 차용하시는게 가장 좋을 것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
자현 Kaylla님께서 질문해주신 사항에 대한 답변을 드리겠습니다. SSG(Static Site Generation)와 SSR(Server Side Rendering) 사용에 대한 문제는 주로 페이지의 특성과 요구사항에 따라 결정되며, 각각의 장단점을 이해하면 선택에 도움이 됩니다.
SSG: 페이지를 빌드 타임에 미리 생성해 두기 때문에 빠른 응답 속도와 SEO 최적화에 유리합니다. 따라서, 데이터가 자주 변경되지 않거나, 방문자가 가장 최근 데이터를 요구하지 않는 페이지일 경우 효과적입니다. 클라이언트 사이드 데이터 페칭을 통해, 사용자 상호작용 후 데이터가 변경될 수 있는 부분은 동적으로 불러올 수 있습니다. 검색 페이지의 경우에도 초기 결과 페이지 레이아웃을 SSG로 생성하고, 검색 결과는 클라이언트 사이드에서 갱신이 가능하도록 구현할 수 있습니다.
SSR: 매 요청 시 서버에서 페이지를 생성하기 때문에 항상 최신 데이터를 제공할 수 있습니다. 실시간으로 데이터를 반영해야 하거나, 검색 쿼리처럼 사용자 입력에 따라 페이지 결과가 자주 바뀌는 경우에는 SSR이 유리합니다.
검색 페이지의 경우, SSG를 사용하여 초기 레이아웃이나 고정된 정보를 미리 렌더링하고, 클라이언트 사이드에서 검색 쿼리를 통해 동적으로 결과를 가져오는 방법을 고려해 볼 수 있습니다. 그렇지만, 데이터에 실시간 접근이 필수적이거나, 검색 결과를 서버에서 미리 렌더링해야 하는 상황이라면 SSR이 더 적합할 수 있습니다.
관련 질문에서 SSG와 클라이언트 사이드 데이터 페칭을 결합한 사용 예제를 확인하실 수 있습니다:
- SSR vs SSG(+클라이언트 사이드 데이터 페칭)의 차이 - 이 글에서 이론과 비유를 통해 쉽게 이해할 수 있는 정보를 제공합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.