Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[사전 미션 - CSR을 SSR로 재구성하기] - 수야(최영수) 미션 제출합니다. #27

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

cys4585
Copy link

@cys4585 cys4585 commented Oct 3, 2024

🤔 생각해 보기

1. CSR과 SSR에서 초기 페이지 로딩 시간에 어떤 차이가 있었을까? 그 이유는?

사용자 관점에서

  • CSR: 빈 화면이 렌더링되었다가, 페이지가 렌더링된다.
  • SSR: 처음부터 요소가 잘 구성된 페이지가 렌더링된다.

CSR은 브라우저에서 빈 문서를 토대로 파싱을 한 후에 리액트 소스(js 파일)를 모두 실행하고 나서야 정확한 DOM이 구성된다. 즉, 브라우저에서 js 리소스를 요청하고 로드하고 실행해야 DOM 파싱이 되기 때문에 오래걸린다.

SSR은 브라우저에서 요청을 보내면 비교적 짧은 js 코드가 실행되고, 미리 만들어둔 html 파일을 반환한다. 즉, 브라우저에서 js를 로드하고 실행하지 않고 html 파일만 DOM으로 바로 파싱하면 되기 때문에 때문에 빠르다.

2. 서버 측에서 데이터를 가져오는 방식과 클라이언트 측에서 데이터를 가져오는 방식을 비교해서 설명한다면?

클라이언트 측에서 데이터를 가져오는 방식: html 요청 및 응답 -> 렌더링 -> js 요청 및 응답 -> js 실행 -> 리렌더링 -> (클라이언트가) 데이터 페칭 -> 리렌더링
서버 측에서 데이터를 가져오는 방식: html 요청 -> (서버가) 데이터 페칭 -> html에 데이터 삽입 -> 응답-> 렌더링

- CSR과 동일하게 렌더링되도록 API 연결
- API로 얻어온 데이터를 index.html의 텡플릿 변수(?)에 바인딩
- router.get으로 다른 주소도 페이지 렌더링, 다른 API 연결
- 선택한 탭 활성화되도록 index.html 변수 추가
@woowahan-cron woowahan-cron self-assigned this Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants