Image upload Process

진성·2022년 8월 7일
0
post-thumbnail
post-custom-banner

이미지 업로드 방법은 프론트엔드 또는 백엔드 그리고 사용하는 언어 또는 프레임워크 마다 다르겠지만 전체적인 업로드 과정은 거의 비슷하다.
오늘은 이미지 업로드가 어떻게 되는 것인지 확인 해 볼 것이다.

이미지 업로드 과정

기본적으로 웹사이트에 들어가면 이미지가 있다.

이런 이미지들은 어디에서 나와서 어떻게 보여지는 것인가 하는 생각이 든다.
개발자 도구에 네트워크 탭을 확인해 보면 이미지를 요청하여 내 브라우저에 다운 받아 보여주는 것을 확인 할 수 있다.

이러한 이미지들은 각각 다운 받아 올 수 있는 고유한 주소를 가지고 있고 그 곳에서 이미지를 가져오는 것이다.

그럼 여기서 또 의문이 생기게 되는데 이 이미지 주소들은 어디에서 만들어져 나오는 것이며 데이터베이스에는 어떠한 식으로 저장이 되고 어떻게 데이터를 주고 받을 것인가.

이미지 업로드 과정에 전체적인 흐름

전체적인 그림으로 보면 의외로 간단하다.

  1. 프론트엔드에서 이미지 파일을 백엔드로 보내게 된다.
  2. 백엔드에서는 이 이미지 파일을 클라우드라는 저장공간에 저장을 해준다.
  3. 클라우드에서는 백엔드에서 받은 이미지 파일을 저장을 하고 그 이미지를 불러올 수 있는 이미지 주소를 보내준다.
  4. 백엔드에서는 받은 이미지 주소를 데이터베이스에 저장을 한다.

위와 같은 순서로 이미지 업로드가 되며 이제 프론트에서는 이미지를 불러올 때 데이터베이스에 저장된 이미지 주소를 가져와 사용하게 된다.

여기서 또또 의문이 생기게 된다.
왜 이미지 파일 자체를 데이터베이스에 저장을 하지 않고 클라우드라는 저장공간에 저장을 해서 이미지 주소를 사용하는 것이며 클라우드는 또 무엇인가 하는 의문점이 생긴다.

이미지를 데이터베이스에 저장하지 않는 이유

먼저 이미지를 데이터베이스에 저장하지 않는 가장 큰 이유로는 데이터베이스에 이미지가 저장이 되지 않느다.
엄밀히 말하면 가능하지만 매우 번거롭고 귀찮은 작업이 된다.

또한 우리가 흔히들 데이터베이스에 저장하는 문자 또는 숫자에 비해 이미지나 동영상 데이터는 용량이 크다.
그렇기 때문에 데이터베이스에 저장하여 직접 관리하기 위해서는 사이즈가 큰 컴퓨터를 사용하거나 여러대에 많은 컴퓨터를 사용하여야 한다.
이는 회사 규모가 왠만한게 크지 않고서는 비용적인 부분이나 관리하는 부분에서 많은 어려움이 생기게 된다.

그래서 이러한 어려운 부분들을 대신해주는 업체가 만들어지게 되고 이러한 업체들을 클라우드 프로바이더 라고 부르게 된다.
쉽게 말해 우리에게 보이지 않는 가상의 컴퓨터를 빌려주는 곳이라고 생각하면 된다.
대표적인 업체로는 AWS, GCP, Microsoft Azure 같은 곳이 있다.
사용방법과 같은 보다 자세한 내용은 각 홈페이지에 확인 해보는 것이 좋다.

이러한 클라우드 제공 업체를 사용하게 되면 컴퓨터를 빌려 내 이미지를 저장 할 수 있게 되는 것이다.

클라우드를 사용하면 좋은 이유

먼저 클라우드의 장점 중 하나는 내가 빌린 컴퓨터의 용량보다 사이즈가 커지게 되면 자동으로 용량이 확장이 되고 나는 내가 사용한 만큼의 비용만 지불하면 되기 때문에 비용 절감을 할 수 있다.

또한 클라우드를 사용하게 되면 컴퓨터 관리를 우리가 하지 않아도 된다.
클라우드 업체에서 컴퓨터를 관리 해주기 때문에 시간 또한 절약이 된다.

위와 같은 이유로 클라우드를 사용하게 된 것이며 데이터베이스에 저장하지 않는 것이다.

profile
풀스택 진행중...
post-custom-banner

0개의 댓글