프로그램한 것을 서버에 올리고, 주소를 만들면 사용자는 접속하면 그만 아닌가? 왜 프로그램 언어나 플랫폼에 따라 서버에 올리는 방법이 다르지? 이걸 좀 알기 쉽게 설명해줘봐.
---
"프로그램을 만들었으면 서버에 올리고 주소만 만들면 끝 아닌가?"
겉으로 보기에는 맞는 말입니다. 실제로 사용자는 웹 주소만 입력하면 되니까요.
하지만 개발자 입장에서 보면 "서버에 올린다"는 말 안에 여러 단계가 숨어 있습니다.
비유를 들어 보겠습니다.
웹사이트는 음식점과 비슷합니다.
- 사용자는 "음식을 주문하면 된다"고 생각합니다.
- 하지만 식당마다 조리 방식은 완전히 다릅니다.
예를 들어,
- 샐러드 가게는 재료만 진열하면 바로 판매할 수 있습니다.
- 냉동 피자는 오븐만 있으면 됩니다.
- 한식당은 주문이 들어올 때마다 주방에서 조리해야 합니다.
웹서비스도 마찬가지입니다.
1. 정적 웹사이트: 완성된 음식 진열
HTML, CSS, JavaScript 파일만 있는 웹사이트입니다.
예를 들면:
- 회사 소개 페이지
- 포트폴리오
- 블로그
서버는 단순히 파일을 전달합니다.
사용자 → 서버 → HTML 파일 전달
이 경우에는 정말로 "파일을 서버에 올리기만 하면" 끝납니다.
그래서 GitHub Pages 같은 서비스가 가능합니다.
2. React 앱: 반조리 식품
React 프로젝트는 개발자가 작성한 코드를 그대로 올릴 수 없습니다.
개발용 코드를 먼저 브라우저가 이해할 수 있는 파일로 변환해야 합니다.
React 코드
↓
빌드
↓
HTML/CSS/JavaScript 파일 생성
↓
서버 업로드
즉, "서버에 올린다" 전에 빌드 과정이 하나 더 필요합니다.
그래서 Vercel 같은 서비스가 이 과정을 자동으로 처리해 줍니다.
개발자는 Git에 올리기만 하면 됩니다.
3. Next.js: 주문 즉시 요리하는 식당
Next.js는 상황에 따라 서버가 매번 페이지를 만들어야 할 수 있습니다.
예를 들어 쇼핑몰 상품 페이지를 생각해 보겠습니다.
사용자 → 상품 123 요청
↓
서버 → 데이터베이스 조회
↓
서버 → HTML 생성
↓
사용자에게 전달
이 경우에는 단순히 파일만 올려서는 안 됩니다.
서버가 계속 실행되고 있어야 합니다.
- Node.js 설치
- 서버 실행
- 메모리 관리
- 트래픽 처리
같은 작업이 필요합니다.
그래서 Next.js는 Vercel 같은 플랫폼과 궁합이 좋습니다.
4. 모바일 앱도 비슷하다
스마트폰 앱도 똑같습니다.
사용자는 앱스토어에서 설치만 하면 되지만, 개발자는
- iOS용 빌드
- Android용 빌드
- 심사
- 배포
과정을 각각 거칩니다.
사용자가 보는 것은 단순하지만, 내부는 복잡합니다.
왜 이렇게 복잡할까?
웹은 오랜 시간에 걸쳐 발전해 왔기 때문입니다.
처음에는 단순한 문서만 보여줬습니다.
HTML
그러다 웹이 점점 복잡해졌습니다.
HTML
↓
JavaScript
↓
React
↓
Next.js
↓
실시간 기능
↓
AI 기능
기능이 늘어날수록 배포 방식도 다양해졌습니다.
그래서 요즘에는 개발자가 복잡한 과정을 직접 처리하지 않도록 배포 플랫폼이 등장했습니다.
이 서비스들이 개발자를 대신해
빌드
↓
서버 설정
↓
HTTPS 설정
↓
CDN 연결
↓
배포
를 자동으로 처리합니다.
그래서 개발자는 다시 원래 생각으로 돌아갈 수 있습니다.
"Git에 올리면 웹사이트가 공개된다."
이 말은 엄밀히는 틀렸지만, 배포 플랫폼 덕분에 실제로는 거의 맞는 말이 된 것입니다.
'기술, 테크놀로지' 카테고리의 다른 글
| vercel로 배포할 때 생각해야할 것 - 주소가 늘어난다. (0) | 2026.06.27 |
|---|---|
| 어떻게 시리는 애플이 AI 에 대하여 주의를 갖도록 만들었나? - 크롬 번역 (5) | 2024.10.05 |
| 불편한 ChatGPT 할루시네이션 문제 (0) | 2024.04.23 |
| 주요 테크 회사들 AI 서비스 네이밍 관련 기사 Digiday 번역 (0) | 2023.12.13 |
| 트위터 '새'는 누가 어떻게 만들었나 - 뉴욕타임즈 기사 번역 (0) | 2023.07.25 |
댓글