민원 서류·증빙 영상처럼 큰 첨부 파일을, 서버(WAS)를 거치지 않고 브라우저에서 저장소(S3)로 곧장 보냅니다. 1회 최대 2GB. 아래에서 직접 올려보고, 보안 동작도 눌러서 확인하실 수 있습니다.
왜 이 방식인가 — 파일이 서버를 통과하지 않습니다
흔한 방식 (서버가 파일을 받아 다시 저장소로)
브라우저
→
서버(WAS)
2GB를 메모리·디스크에 통째 적재
→
저장소(S3)
2GB가 서버를 통과합니다. 동시 업로드가 몰리면 서버 메모리가 터져 전체 서비스가 멈추고, 큰 파일을 받으려면 그만큼 고사양 서버(비용)가 필요합니다.
이 데모 방식 (서버는 허가증만 발급)
브라우저
→
서버 메모리
→
저장소(S3) — 직접 전송
서버는 업로드 허가증(Presigned URL)만 발급하고, 파일은 브라우저에서 저장소로 곧장 갑니다. 파일이 서버를 안 거치므로 저사양 서버로도 2GB를 처리하고, 동시 업로드가 폭주해도 서버는 영향받지 않습니다.
보안 동작 — 배지가 아니라 직접 눌러서 확인
· 허용 안 된 형식: 서버가 허가증 발급 단계에서 차단합니다(파일이 만들어지기도 전에 거부 — Postman 등으로 직접 호출해도 못 올림).
· 같은 파일명: 서버가 매번 새 UUID를 키에 붙여, 같은 이름이어도 기존 파일을 덮어쓰지 않습니다.