개발중에 궁금증 하나가 생겼습니다. 웹의 구조를 완벽히 알고있는 사람들에게는 터무니 없는 궁금증으로 보일지도 모릅니다... 조금만 읽어보시고 이상하다싶음 넘어가주세요.
# 내가 알고 있던 지식
- 백엔드에서 응답을 보내주는 방식에는 크게 API(JSON 같은 데이터만 응답하는경우), html파일 (template engine으로 데이터가 포함된 html파일로 응답하는 경우)가 있다.
- 전자는 앱 개발에, 후자는 웹개발에 사용. 앱은 html파일이 필요없기 때문입니다.
# 궁금증
- facebook 같은 웹과 앱이 동시에 작동하는 시스템은 어떻게 백엔드가 만들어진거지?
- 웹 요청처리와 앱 요청처리를 따로 관리하도록 서버가 2개인건가?
- chatgpt에 따르면 facebook은 facebook api 하나로 웹, 앱 요청을 다 처리한다는데 그게 어떻게 가능한거지? 웹쪽은 html이 필요하고 앱쪽은 html이 필요없는데...?
- API의 도메인 주소는 같고 웹요청, 앱요청을 서버가 구별할수있다면 가능할것같기도 한데... 어떻게?
# 정확한 사실
- SPA(single page application), MPA(multiple Page application)
- SPA
하나의 페이지로 이루어진 홈페이지. ex) Vue, Angular, React 프레임워크로 만든 홈페이지 - MPA
여러 개의 페이지로 이루어진 홈페이지. ex) PHP JAVA
- SPA
- SSR(server side rendering), CSR(client side rendering)
- SSR
서버에서 렌더링하여 완성된 HTML 파일을 로드해 줍니다. MPA에 적합 - CSR
초기 로드 시 빈 HTML과 모든 로직이 담겨 있는 Javascript 다운로드를 합니다. 그 후 빈 HTML에 Javascript를 이용하여 Dom을 동적으로 생성하여 그려 내게 됩니다. SPA에 적합
- SSR
으아... 아직도 안풀림... 너무 시간투자를 많이해서 일단은 킵...
'개발중 생기는 WHY' 카테고리의 다른 글
멀티 프로세스, 멀티 스레드 등 "멀티"의 변천사 (작성중) (0) | 2024.04.18 |
---|---|
Question Queue (0) | 2022.12.24 |
뛰어난 개발자가 되기위한 덕목 (0) | 2022.11.24 |
Spring을 왜 공부해야 하는가 (0) | 2022.11.22 |