Creating SSR and CSR
..
CSR은 온전히 그 기능을 다도록 설계를 당연히 해야할 것 이며,
서버가 template 파일을 만들기 위해서 이 CSR 프레임워크를 이용해야 하는것!
php,jsp등의 서버용 정적파일 구성 하는 template 용 엔진 처럼 ..
이미 잘 만들어진 클라이언트 사이드 랜더링 라이브러리를 적극 활용 하는것 !!
그리고, 그 로직 그대로 CSR을 구현하면 되는것 !!
(+ more and more )
따라서 뷰 사이드!! 는 서버가 신경 쓰지 않은채, 클라이언트 설게로 끝이 날 수 있도록 하는것!
다만 서버사이드 랜더링을 할때는, 필요한 페이지 with data를 CSR 랜더링을 이용해서 템플릿 구성 => 정적파일 리소스 제공 => 이후, 계속 hydrate 하는것 까지!
So what I've done so far,
http 통신의 특징 그대로 서버가 클라이언트를 특정하지 않는 상황에서 항상 올바른 데이터/html을 내려줘야 한다로 출발!
하나의 통합적인 상태 관리 시스템이 어떤 클라이언트의 특정 상태와 상관없이 유기적으로 반응할 수 있게 해야 한다.
매번 new 해서 새로운 store 보다 이점있을거라 생각했다.
그리고 ,상태 관리는 서버쪽 원툴 이지만, 리소스 관리(?)는 클라이언트와 그리고 어떤 중간자가 필요하다고 생각했다.
프록시 서버를 두어서 이미 같은 로직으로 발생해서 내려주는 정적 파일은 저장해두는 저장소에서 이를 그대로 내려주고 서버는 파일이 교체 되는 시점을 체크해준다.
즉 캐싱을 프록시로 한번 그리고 클라이언트에서 한번 해서 두번 해주는 과정을 구축해 보았다.
프록시에서는 클라이언트 요청에서 정적파일 요청일때! 그리고 이미 한번 랜더링한 유효 캐싱 파일이면 그대로 내려준다.
그전에 클라이언트에서 지금 CSR을 돌리기 위해 뷰에 필요한 데이터가 서버에 요청 하기전에 다른 데이터 저장소에서 그 유효성을 체크하고 캐싱해서 가져온다.
프록시에서도, 클라이언트에서도, 캐시 데이터가 유효하지 않을시 로직을 각각 처리한다.
데이터 캐싱만 필요한 클라이언트 요청이라면 api 백엔드 요청으로 처리. new html- 즉 SSR이 필요한경우(thru 프록시) 템플릿 구성(client 활용)후 내려준다.
우선, 여기까지는 잘 구동되는 편이지만, 정확한 속도 및 메모리 테스트는 진행되지 않았다.;
but.. 일단 더 구현해보자..
html 의 주체가 SSR이라면 많은 변수에 의해서 다시 구성되어야 할때가 많기 때문에, 다시 뷰 전체를 또 빈번히 구성해야 할것이라는 생각이 든다.
이는 브라우저를 필요 요소만 랜더링하는 CSR과 비교하면 당연히 전체 랜더링을 새로 (그것도 꾀 자주) 한다면 브라우저 랜더링 속도 저하 및
UX 불편함도 반드시 존재 할것 같다..
잘 못 생각하기 시작하면, 어느 하나 이 점이 없을것 같다는 생각도 될게 된다. ㅠ
그저, html에 우리 웹서비스의 내용이 어느정도 채워져서 뷰에 한번 표현이 빠르게 된다는 것과..
그리고 검색 사이트의 크롤링 봇에 키워드로 노출될 가능성이 크 다는것 ...
두번째가 정말 비지니스적으로 엄청큰 부분일 것이라 생각이들긴 한다..
검색엔진 상단에 노출될 수록 비지니스에 굉장히 유리하게 작용할 것은 분명할 것 같다. 이를 위한 많은 돈을 들이며 광고를 ..
따라서 웹서비스 자체의 설계를 이쪽으로 바라보고 구축하는것이 정말 좋아 보인다. 앉아서 천문학적 광고비를 버는일 일 수 있지 않을까.
검색엔진 봇의 속도를 보면 js 파일이 로딩되는 시간에 이미 수천만개를 뒤지고 다니게된다. 하루가 지나고 한달이 지나고 1년만 지나도
검색엔진에 노출될 가능성은 SEO 최적화가 이뤄지지 않은 사이트와 견준다면, 말로 할 수 없을 정도이지 않을까..
개인적으로 왜..저걸 해야하지 싶은 뉴비틀한 생각만 들었지만..
경제적 관점에서 안하면 정말 안되는 구나 하는 생각도 들기도 한다.
당연히 아직도 뉴비틀한 생각에서 벗어나지 못했을것이다 ㅠㅠ
하지만 여기서 계속 알아고 넓혀 가보는게 좋을 것 같다.
다른 관심사들은 제발좀 넣어두자!!
지금은 이거닷 🚀
나의 개인공부, 개인 과제를 위해서 앞으로는..
무수히 많이도 겪고 괴로웠던 이 과정을 .. 카테고리 별로 (위 나눠둔 순서로)
하나씩 되새기며 기록할 것!
그리고,더 큰 사고를 위해서!! 는 핑곌수도
기초적인 CS 지식을 쌓고 싶은 욕망이
아주 아주 매번 매번 치솟는데 관리를 해야겠다 ㅠ
부디 게을리 하지 않기를 바라며 또 다짐하며!!!!!
여기다 박제를!
다시온다 반드시 !!