업로드 주체 → 네트워크 흐름 → 런타임 의존성 → 로컬 개발 영향 → 사용 목적 순서로 단계적으로 정리한 설명이다.
1. 한 줄 요약
| 구분 |
Artworks |
Profile |
| 핵심 차이 |
브라우저가 R2에 직접 업로드 |
서버가 R2에 대신 업로드 |
| 기술 방식 |
Presigned URL |
Server-side R2 Binding |
2. 업로드 주체의 차이 (가장 중요한 차이)
A
- 업로드 주체: 브라우저 (Client)
- 서버는 서명만 발급
- 실제 파일 전송은 브라우저 → R2
B
- 업로드 주체: 서버 (Next.js API Route)
- 브라우저는 파일을 서버에 전달
- 서버가 R2 Binding을 통해 업로드
👉 즉,
- Artworks: “서버는 통과 지점”
- Profile: “서버가 실제 업로더”
3. 전체 흐름 비교 (네트워크 관점)
3-1. Artworks: Presigned URL 방식