SPA

2020년 6월 21일 수정

SPA는 Single Page Application의 약자로써 말 그대로 하나의 페이지 만으로 모든 것을 수행하는 웹 애플리케이션을 의미한다.

일반적인 정적 페이지는 HTML에 내용이 적혀있고 CSS로 스타일을 만들고 일부 편의 기능을 Javascript로 구현하는 방식으로 웹 페이지를 구현한다. 그리고 웹 브라우저로 해당 HTML 파일만 로딩하면 핵심 내용이 모두 로딩되는 형태다.

반면에 SPA는 단 하나의 HTML 파일을 작성하지만 여기에 실제 내용은 없다. 대신 첫 등장 시 처리를 Javascript를 이용해 처리하며 그 외의 모든 클릭 등의 액션 또한 웹 브라우저가 아니라 Javascript가 받아서 처리한다.

SPA는 스크립트로 모든 UI를 생성하고 처리하기 때문에 HTML 등을 이용해 화면을 구성하느 것에 비해 구조적이고 편리하게 개발할 수 있다는 장점이 있다. 또한 사용자는 한 번에 거대한 스크립트가 로딩만 된다면 이후 동작에서 로딩은 거의 겪지 않아도 된다는 장점도 있다.

하지만 첫 페이지에서 SPA는 아무런 정보를 가지고 있지 않다. 오로지 거대한 스크립트가 동작해야지만 내용이 화면에 표시된다. 따라서 검색엔진은 이런 SPA 페이지를 아무런 내용이 없는 것처럼 이해할 가능성이 높다.

즉 SPA는 SEO에 최악인 웹 페이지이기도 하다. 그리고 사용자 입장에서는 거대한 스크립트를 로딩해야 하기에 첫 등장에서 답답함을 느낄 수 있다.