대용량 파일을 동시에 압축하고 업로드할 수 있는 솔루션/유틸리티가 있습니까?

대용량 파일을 동시에 압축하고 업로드할 수 있는 솔루션/유틸리티가 있습니까?

광대역 연결을 통해 대용량 파일을 업로드하는 데 시간이 걸립니다. 최대값을 사용하여 파일을 압축합니다. 업로드 전 압축 비율에도 시간이 걸립니다.

파일을 압축하고 동시에 원격 엔드에 업로드할 수 있는 솔루션이 있습니까? 그렇다면 압축 시간이 업로드 시간에 포함됩니다.

예를 들어 파일을 압축하는 데는 5분이 걸리고 압축 파일을 업로드하는 데는 10분이 걸립니다. 압축 후 업로드 작업을 수행하며 약 15분 정도 소요됩니다.

압축하고 업로드하는 솔루션을 사용하는 경우 일반적으로 업로드 속도가 압축보다 느리기 때문에 약 10분 정도만 소요될 수 있습니다.

답변1

파일 전송에 사용하는 프로토콜에 따라 다릅니다. 일반적으로 이미 투명하게 수행됩니다.

HTTP(및 HTTPS) 프로토콜은 서버와 클라이언트가 모두 구현하는 경우 즉시 압축을 지원합니다. 우선, 클라이언트는 서버가 지원하는 압축 유형을 서버에 알려줍니다. 일반적인 HTTP 요청 헤더에는 다음과 같은 줄이 포함됩니다.

Accept-Encoding: gzip, deflate

서버는 지원하는 압축 알고리즘을 선택하고 HTTP 헤더(아래 참조)에 표시하며 압축된 콘텐츠를 제공합니다.

Content-Encoding: gzip

대부분의 최신 HTTP 클라이언트(예: Chrome, Firefox, Internet Explorer, Safari 등, 알파벳순)와 서버(예: Apache, Microsoft IIS, nginx)는 올바르게 구성되면 즉시 압축된 데이터를 전송합니다.

마찬가지로 다른 프로토콜에서도 압축을 구현할 수 있습니다(예: FTP의 모드 Z). Microsoft의 원격 차등 압축과 같은 특수 프로토콜을 사용하면 다른 부분만 전송하여 로컬 및 원격 파일을 동기화할 수 있습니다.


편집하다:

나는 투명한 HTTP 압축이 파일 다운로드만을 위한 것이고 그 반대의 경우는 아니라는 것을 발견했습니다. 업로드할 데이터를 압축하려면 Javascript를 작성 FileReader하고 compressjs.

관련 정보