티스토리 뷰
1. 랜더링이란?
Rendering 사전적으로는 '표현', 기본적으로 시각적인 결과물을 생성하는 과정을 나타낸다.
웹개발에서 랜더링이라 함은 HTML, CSS, JavaScript를 사용하여 웹페이지를 생성하고
브라우저에 표시하는 과정을 의미한다. 이 과정에서 클라이언트 사이드 / 서버 사이드 랜더링이 나뉘게 된다.
2. 클라이언트 사이드 랜더링은 무엇인가?
Client-Side Rendering, CSR은 브라우저에서 JavaScript를 사용하여 동적으로 웹 페이지를 생성하는 방식이다.
초기 HTML은 비어 있거나 간단한 마크업만 포함하고, 페이지가 로드된 후에 JavaScript가 실행되어 페이지를 동적으로 구성하고 랜더링 한다.
3. 서버사이드 랜더링은 무엇인가?
서버에서 HTML코드를 생성하고 브라우저에 보냄으로 웹페이지를 표시하는 방식이다.
클라이언트가 페이지를 요청할 때마다 서버는 요청된 데이터를 사용하여 HTML을 생성하고 브라우저에 반환합니다.
4. 이 둘의 차이(장단점)는 무엇인가?
CSR
- 장점
- 사용자의 반응에 따라 페이지가 동적으로 랜더링 되므로 사용자 친화적이다.
- 초기 구성화면이 간단하므로 서버에 부담을 덜 주게 된다.
- 단점
- 초기 구성화면이 간단하다가 이후 내용이 그려지므로 초기 로딩 속도가 느릴 수 있다.
- 웹크롤러 봇이 사이트 정보를 수집할 때 HTML이 비어있기 때문에 SEO(검색엔진초적화)에 불리하다는 단점이 있다.
검색사이트에 노출이 잘 안될 수 있다는 뜻이다.
* 구글 크롤러 봇은 자바스크립트를 실행할 줄 알아서 CSR도 SEO가 일부 이루어 지는 듯 하다.
SSR
- 장점
- 완전한 HTML를 반환하기 때문에 SEO에 유리하다.
- 서버에서 완전한 상태의 데이터를 보내주기 때문에 초기 로딩속도가 빠르다
- 단점
- 페이지마다 서버에 요청을 하기 때문에 서버 부하가 있을 수 있다.
5. 짬짜면이 있다던데 Universal Rendering
서버 측 랜더링과 클라이언트 측 랜더링의 장점을 결합하여 최상의 사용자 경험을 제공합니다.
복잡한 부분
Universal Rendering을 구현하는 데에는 몇 가지 고려해야 할 사항이 있습니다. 예를 들어, 서버 측 랜더링을 위해 서버 측 코드와 클라이언트 측 코드를 통합해야 하며, 서버와 클라이언트 간의 데이터 흐름을 관리해야 합니다. 또한, 코드의 복잡성과 성능에 대한 영향을 고려해야 합니다.
ex) 특정 페이지에서는 React를 사용하고, 다른 페이지에서는 Next.js를 사용하여 SSR 또는 CSR을 구현할 수 있습니다.
5. 이 둘을 구현하는 방법은 무엇인가?
잘나와 있는 사이트 참고
https://sonicce99.github.io/csr-ssr/
참고사이트 출처 : gpt, https://dev-ellachoi.tistory.com/28
'개발공부 > Javascript' 카테고리의 다른 글
#기본기14_자바스크립트의 프로토타입 기반 상속 활용 (1) | 2024.04.03 |
---|---|
#기본기13_자바스크립트에서 메모리 관리와 성능 최적화 방법 (1) | 2024.04.03 |
#기본기11_fetch() (0) | 2024.04.03 |
#기본기10_async / await (0) | 2024.04.03 |
#기본기9_Promise (0) | 2024.04.03 |
- Total
- Today
- Yesterday
- 프로토타입 체이닝
- .then()
- 동등비교연산자
- 대괄호표기법
- 객체리터럴
- 리액트 이미지경로
- .finally()
- 태스크큐
- 머리아프다..
- cors위치
- .catch()
- 객체속성 추가 삭제
- Props
- 전역변수
- 미들웨어위치
- null과 undefined
- 배열내특정요소찾기
- 문자열
- react
- 비동기
- 에이블스쿨2일차
- 함수
- 조대곤교수님
- 상속
- unique "key" prop.
- JSX
- promise
- unexpected character
- 함수형코딩
- universal rendering
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |