1,2장. 자바스크립트란?
렌더링
- HTML, CSS, JavaScript로 작성된 문서를 해석해서 브라우저에 시각적으로 출력하는 것을 말한다.
SSR (Server Side Rendering)
- 서버에서 데이터를 HTML로 변환해서 브라우저에 전달해줌
- 매 요청마다 페이지 전체를 렌더하기 때문에 새로고침 발생 및 트래픽이 증가함
- 초기 View를 보여주는 속도(초기 로딩)이 매우 빠르다.
- 사용자 정보를 세션으로 관리할 수 있다.
CSR (Client Side Rendering)
- 장점
- HTML, CSS, Javascript를 로드 후 브라우저에서 렌더링함
- 브라우저에서 렌더링을 하므로 초기 로딩 속도는 SSR보다 오래걸린다.
- 초기 로딩 이후에는 필요한 부분만 바꿔주므로 상호작용이 자연스럽게 진행된다.
- 단점
- 브라우저 쿠키나 로컬 스토리지에 정보를 저장하므로 XSS 공격에 취약하다.
- SEO문제 → 대다수의 크롤러가 자바스크립트를 실행하지 못하므로 빈 페이지로 인식해버릴 수 있다.
jQuery
- HTML 문서 조작, 이벤트 및 효과 처리 등 여러 가지 기능을 가지고 있는 JavaScript 라이브러리이다.
Ajax
- JavaScript 라이브러리중 하나이며 서버와 브라우저 간 비동기 통신을 이용하여 페이지의 일부만을 위해 데이터를 로드하는 기법 (XMLHttpRequest 객체를 통해서 수행됨)
- Ajax 또한 jQuery를 이용하여 동작한다.
Node.js
- 비동기 I/O를 지원하며 단일 스레드 이벤트 루프 기반으로 동작함
- 데이터를 실시간으로 처리하기 위해 I/O가 빈번하게 발생하는 SPA에 적합하다.
- 자바스크립트 실행 엔진
ECMAScript
- Javascript의 표준 사양
JavaScript
- HTML, CSS와 함께 웹을 구성하는 요소 중 하나
- 웹 브라우저에서 동작하는 유일한 프로그래밍 언어
- 컴파일 작업을 수행하지 않는 인터프리터 언어다.
- 프로토타입 기반의 객체지향 언어