사인드 업로드란 서버에 사인을 요청하고 그 사인을 이용해서 클라이언트에서 업로드 시에 검사를 하고 저장하는 것이다.
- 사인 요청: 클라이언트는 먼저 백엔드 서버에 파일 업로드에 필요한 사인된 토큰 또는 URL을 요청합니다.
- 토큰 생성: 백엔드 서버는 이 요청을 받고, 클라우드 서비스에게 안전한 업로드를 위한 사인된 토큰 또는 URL을 생성하라고 요청합니다.
- 토큰 전달: 백엔드 서버는 사인된 토큰 또는 URL을 클라이언트에게 전달합니다.
- 클라이언트 업로드: 클라이언트는 이 사인된 토큰 또는 URL을 사용하여 파일을 직접 클라우드 서비스에 업로드합니다.
- 검증 및 저장: 클라우드 서비스는 토큰이나 URL의 유효성을 검사한 후, 파일을 저장합니다.
- 백엔드 서버의 부하 감소: 파일 처리를 클라이언트와 클라우드 서비스가 직접 하기 때문에, 백엔드 서버의 부하를 줄일 수 있다.
- 보안성: 사인된 토큰 또는 URL은 일반적으로 시간 제한이 있고, 한 번만 사용할 수 있습니다. 따라서 안전한 업로드가 가능하다.
- 업로드 속도 향상: 백엔드 서버를 거치지 않고 바로 클라우드 서비스에 업로드하기 때문에, 일반적으로 업로드 속도가 더 빠르다.
하지만 과정이 복잡해지는 문제가 있긴 하다. 그리고 사인도 탈취의 위험이 있으며 서비스에 따라 비용이 추가되기도 한다.
'오늘 뭐했냐 > 개발에 대한 주저리' 카테고리의 다른 글
23.09.02 테스트 코드 (Test Code) (0) | 2023.09.09 |
---|---|
23.09.01 동기적 처리와 비동기적 처리 (0) | 2023.09.08 |
23.08.29 뮤텍스(Mutex) (0) | 2023.09.06 |
23.08.24 node.js (Event 모듈) (0) | 2023.09.03 |
23.08.20 레디스 (Redis) (0) | 2023.08.30 |