구성 요소 업로드

Upload components

업로드 컴포넌트는 업로드 기능을 추가하기 위해 웹 사이트에 내장되도록 설계된 소프트웨어 제품이다.업로드 컴포넌트는 표준 HTML4 업로드 메커니즘을 대체하도록 설계되었다.HTML4와 비교하여 Upload Components는 사용자 친화적인 인터페이스를 가지고 있고 더 넓은 범위의 기능을 지원한다.null

HTML 파일 업로드

HTML4 표준은 클라이언트 컴퓨터에서 요청되어 서버에 업로드되는 데이터를 요청하는 것을 지원한다.이러한 유형의 데이터 전송을 위한 표준 메커니즘은 HTML 형식이다.[1][2]HTML 양식으로 다른 속성의 <입력/> 태그를 채용하여 사용자의 파일을 업로드할 수 있다.웹 사이트 개발자가 기본 업로드 기능을 구현할 수 있는 방식이다.그러나 다음과 같은 단점이 있다.

  • 여러 파일을 업로드할 수 없음 - 한 번에 한 파일만 업로드할 수 있음.
  • 업로드 크기 제한 - 일반적으로 HTTP를 통해 최대 수십 메가바이트(MB)의 파일을 전송하는 것은 불가능하다.
  • 파일을 업로드하기 전에 최적화를 사용할 수 없음.
  • 시각화 불량 – 사용자는 업로드 진행률 및 예상 업로드 시간에 대한 정보를 볼 수 없음.
  • 선택한 파일의 미리 보기가 지원되지 않음.
  • 어색한 표정과 느낌 – 사용자가 업로드를 위해 파일을 선택하는 방식은 불편하다.

HTML 업로드 대안

업로드 구성요소는 이전에 언급한 HTML 업로드 제한사항 및 단점을 우회할 수 있다.업로드 구성요소는 클라이언트에서 서버로 파일을 업로드할 수 있는 플러그인이다.보통 업로드 컴포넌트는 제3자 회사가 개발하며 어떤 플랫폼의 어떤 웹사이트와도 통합할 수 있다.사용자의 웹 브라우저는 내장 업로드 구성요소를 웹 페이지의 일부로 표시한다.업로드 컴포넌트는 다음과 같은 다양한 기술로 제작할 수 있다.플래시, Silverlight, Java, ActiveX 및 HTML5.

W3C 커뮤니티는 HTML5 표준 개발 중에 있으며, 2014년까지 전체 사양이 기대된다.[3]HTML5는 플러그인이나 컴포넌트 없이 멀티미디어 콘텐츠를 지원하도록 되어 있다.업로드 기능을 위해, 새로운 HTML5 API는[4] 클라이언트의 파일 시스템에 대한 액세스, 동적 요청 생성 및 이미지 처리 등 매우 다양한 새로운 기능을 제공한다.null

새로운 HTML5 기능은 정교한 사용자 인터페이스와 어떠한 양의 데이터도 업로드할 수 있는 기능을 갖춘 업로드 구성요소를 구현하는 좋은 기반이 될 수 있다.불행히도, 현재 브라우저는 그러한 기능들을 부분적으로 그리고 다르게 지원하는데, 이것은 심각한 장애물이다.많은 사용자들이 여전히 Windows XP(28%)[5]와 구식 Internet Explorer 버전(11%)을 사용하고 있다는 사실을 기억한다면 상황은 더 나빠진다.[6]null

업로드 구성 요소 생성 기술

업로드 컴포넌트는 브라우저 기능 확장을 목표로 하는 다양한 기술을 기반으로 개발될 수 있다.기술과 그 기능에 따라 업로드 구성요소는 더 많은 기능 또는 더 적은 기능을 지원할 수 있고, 구성 가능하거나 덜 구성할 수 있으며, 사용하기 쉽다.null

기술 브라우저 OS 모바일 OS 클라이언트 소프트웨어 요구 사항
자바 애플릿 Internet Explorer, Firefox, Chrome, Safari, Opera Windows, Mac OS X, Linux 지원 없음 자바 머신
플래시 컨트롤 Internet Explorer, Firefox, Chrome, Safari, Opera Windows, Mac OS X, Linux 지원 없음 플래시 플레이어
실버라이트 컨트롤

Microsoft 기술 선호

Internet Explorer, Firefox, Chrome, Safari, Opera Windows, Mac OS X, Linux(문라이트) 지원 없음 실버라이트 플러그인
HTML5 컨트롤 Chrome, Firefox, Opera, Safari, Internet Explorer,

제한적 지원

Windows, Mac OS X, Linux iOS, Android, Windows Phone 7,

제한적 지원

HTML5 호환 웹 브라우저
ActiveX 컨트롤 인터넷 익스플로러 창문들 지지하지 않음 인터넷 익스플로러

자바

Java 애플릿은 웹 브라우저에서 실행되는 구성요소다.그것들은 자바 바이트 코드의 형태로 개발된다.애플릿은 대부분의 현대적인 운영 체제와 브라우저에 의해 지원된다.자바 애플릿은 네이티브 설치 소프트웨어와 비슷한 성능을 갖고 있다.자바 애플릿은 신뢰할 수 있는 소프트웨어가 되기 위해 보안 인증서로 서명되어 웹 사이트에서 자동 재배포 및 클라이언트 컴퓨터에 설치할 수 있다.null

플래시

업로드 구성요소는 Adobe Flash 컨트롤로 구현할 수 있다.플래시는 인터넷에서 리치 미디어 애플리케이션을 실행하기 위한 틀이다.전체 웹 사이트의 24%가 플래시 구성요소를 사용하며,[7] 99%의 인터넷 사용 PC에 플래시 플레이어가 설치된다.[8]플래시는 모바일 플랫폼을 제외하고 다양한 브라우저에서 플래시 업로드 구성요소가 작동할 수 있는 크로스 플랫폼이자 크로스 브라우저 기술이다.null

실버라이트

또 다른 업로드 컴포넌트의 유형은 Silverlight로 브라우저 플러그인을 설치해야 하는 마이크로소프트 기술이다.기능에서 그것은 Adobe Flash와 매우 유사하며 대부분의 최신 브라우저와 운영 체제에서 지원된다.윈도용 실버라이트, 맥 OS X용 버전도 있고, 리눅스용 버전인 문라이트도 있다.실버라이트는 윈도폰 애플리케이션 개발에 사용되는 기본 기술 중 하나이다.null

HTML5

HTML5는 HTML에 멀티미디어 지원을 추가하기 위해 개발된 새로운 HTML 표준으로, 윈도, 맥 OS X, 리눅스, iOS, 안드로이드, 윈도 폰에서 지원된다.포맷은 아직 개발 중이고 파일 업로드를 위해 채용된 일부 기능은 여전히 표준에 속하지 않기 때문에 HTML5 업로드 컴포넌트는 현재 일반적이지 않다.그들의 지원은 브라우저의 하위 집합으로 제한된다.null

데스크톱 브라우저 HTML5 지원

HTML5 지원은 꾸준히 향상되고 있다.HTML5 기능에 대한 최상의 적용 범위는 최신 버전의 Chrome, Firefox, Safari 및 Opera에서 제공된다.Internet Explorer는 최소한의 지원을 제공한다.Internet Explorer 10은 다른 브라우저의 버전에 비해 지원이 적다. 그러나 커버리지가 Internet Explorer 9보다 두 배 더 좋을 것이다.[clarification needed]

모바일 플랫폼 HTML5 지원

iOS 5는 충분히 높은 수준의 HTML5 지원을 가지고 있지만, 그것의 지원 수준은 데스크탑 브라우저에 비해 낮은 수준이다.null

윈도폰 7.5 '망고'는 HTML5에 대한 지원이 미미해 데스크톱 Internet Explorer 9의 표준 지원 부족에 버금간다.null

최신 안드로이드 5.0은 윈도폰보다 훨씬 더 많은 HTML5 기능을 지원하지만 iOS보다는 적다.null

모바일 브라우저의 HTML5 지원은 진행 중인 작업으로 남아 있다.[9][10]null

표준 HTML4 업로드로는 불가능한 기능

업로드 컴포넌트는 순수한 HTML4로는 제공할 수 없는 추가 기능과 사용자 경험을 제공한다.

진행 표시줄
진행률 표시줄을 사용하여 업로드 진행률 세부사항을 사용자에게 알린다.업로드 구성 요소는 파일 이름, 파일 크기, 업로드 속도 등과 같은 매개 변수를 표시하는 진행률 표시줄을 지원한다.
여러 파일 및 폴더 업로드
일부 웹 사이트는 한 번에 여러 파일을 업로드할 수 있도록 지원해야 한다.이 기능은 소셜 네트워크, 사진 갤러리, 파일 공유 등에 업로드 컴포넌트에 매우 중요하다.표준 HTML4 접근법은 번거롭다.업로드 구성요소는 여러 폴더에서 동시에 파일을 더 쉽게 업로드할 수 있도록 하여 보다 유연한 방식으로 다중 파일 업로드를 지원한다.
대용량 파일 업로드
요청 크기가 너무 커서 업로드 프로세스가 성공적으로 완료되지 못할 수 있기 때문에, 느리거나 불안정한 인터넷 연결 때문일 수 있기 때문에 방대한 양의 데이터를 업로드하는 것은 항상 문제가 된다.서버 쪽에서는 HTTP 요청의 최대 크기에 제한이 적용될 수 있다.업로드 컴포넌트는 한 손으로는 클라이언트의 요구와 서버 및 채널 자원과 다른 한 손으로는 제한 사이의 균형을 찾아야 한다.서버 구성요소에 대용량 파일을 전달하는 경우, 업로드 프로세스가 시작되기 전에 소위 "청크 업로드"라고 불리는 파일이 여러 부분(청크)으로 분할된다.각 청크는 단일 요청에 따라 전송되며, 모든 청크가 서버에 도착한 후 원본 파일이 다시 조립된다.
페일 세이프 업로드
업로드 프로세스 중에 예기치 않은 문제 또는 오작동이 발생하여 업로드 실패와 파일 손상으로 이어질 수 있다.이러한 문제를 해결하기 위해 업로드 구성요소는 업로드 프로세스의 자동 재개, 단일 패키지로 개별적으로 파일 전송, 청크 업로드와 같은 안전 메커니즘의 스포티한 기능을 가지고 있다.
파일과 함께 추가 데이터 전송
때로는 정보 설명이나 Exif/IPTC 필드 또는 해시 합계 등 파일과 함께 추가 데이터를 보내 업로드 프로세스 중에 파일이 손상되었는지 또는 손상되었는지 여부를 확인하는 것이 유용하다.
동시 업로드
업로드 구성 요소에는 업로드 패키지를 여러 스레드로 전송하는 동시 업로드 기능이 있을 수 있다.경우에 따라 업로드 프로세스는 전체 업로드 속도를 높이고 업로드 시간을 단축하며 보다 효과적인 방법으로 컴퓨터 리소스를 사용함으로써 이득을 얻는다.
즉시 업로드
이 접근방식은 파일이 업로드 대기열에 추가된 직후 파일 업로드를 시작할 수 있도록 한다.
클라우드 스토리지에 업로드
업로드 구성요소는 파일을 클라우드 저장소에 업로드할 수 있다.
끌어서 놓기
드래그 앤 드롭(Drag-n-Drop)은 사용자-프로그램 그래픽 인터페이스 상호작용의 한 형태로, 한 개체를 선택하고 다른 개체로 끌어다 놓는 것을 포함한다.드래그앤드롭은 프로그램 사용성을 높이는 데 도움이 되기 때문에 널리 보급되어 있다.
사용자 지정 가능한 모양
업로드 구성요소는 글꼴 스타일, 크기, 색상 또는 보기 모드와 같은 구성을 통해 웹 사이트 설계에 맞게 구성요소의 모양을 사용자 정의할 수 있다.
현지화
업로드 컴포넌트가 국제 시장에 진입하면 인터페이스의 텍스트 라벨과 메시지를 다른 언어로 번역하는 데 지원이 필요하다.일반적으로 업로드 구성요소는 가장 널리 사용되는 언어에 대해 구성 가능한 지원을 가지고 있다.사용자 인터페이스는 또한 다국어일 수 있다.[clarification needed]히브리어와 같은 일부 언어의 경우 현지화 과정은 번역뿐 아니라 오른쪽에서 왼쪽으로의 모양과 느낌으로 전환한다.
클라이언트측 파일 유효성 검사
서버측 리소스 업로드 구성 요소를 저장하려면 클라이언트측 유효성 검사를 여러 그룹에서 업로드하도록 선택한 파일 유형(개발자가 선택적으로 정의하거나 금지할 수 있음), 파일 크기(최소/최대 허용 크기로 설정할 수 있음), 이미지 크기(다른 매개 변수 중에서 구성된 최소/최대 크기를 가질 수 있음)에 적용할 수 있다.rs).

이미지 업로드

업로드 컴포넌트는 이미지 업로드를 위해 사용되기 때문에 이미지 사전 업로드 처리를 위한 추가 기능이 있는 컴포넌트가 있다.null

크기 조정
현대 디지털 카메라로 찍은 사진은 고해상도지만 대부분의 웹사이트는 대역폭을 절약하기 위해 이미지 크기를 조정해야 한다.업로드 컴포넌트는 원본 파일 또는 아바타로 사용하기 위한 썸네일 복사본 등을 포함하거나 포함하지 않고 이미지 크기를 자동으로 조정하고 업로드할 수 있다.
회전하다
이미지 순환은 사용자에게 기본적인 이미지 편집 능력을 제공하는 웹사이트에서 매우 중요한 기능이다.영상이 자동으로 회전하거나(Exif 데이터에 기반) 사용자가 수동으로 영상을 회전할 수 있도록 허용된다.
크롭
크롭은 사용자가 어딘가에 저장하거나 인쇄해야 하는 이미지 부분을 선택할 수 있게 해준다.자르기에는 이미지에서 일부 개체를 강조하거나 가로 세로 비율을 변경하기 위해 이미지의 외부 부분을 제거하는 작업이 포함된다.[clarification needed]
워터마크
워터마크(watermark)는 문자메시지, 또는 원본 이미지 위에 올려진 이미지를 말하며, 지적재산을 보호하거나 이미지를 찍은 날짜, 텍스트 댓글, 저작권 등 중요한 정보를 특정하는 데 사용된다.업로드 구성요소는 업로드된 모든 이미지에 워터마크를 추가하는 기능을 포함할 수 있다.
Exif/IPTC 메타데이터
이미지에는 다양한 형식의 메타데이터(예: Exif 또는 IPTC)가 포함될 수 있다.
Exif 필드에는 이미지 파일을 캡처한 장치의 정보(카메라 파라미터, 이미지를 찍은 날짜 및 장소, 노출, 렌즈 파라미터, GPS 데이터 등)가 포함된다.[11]
IPTC 필드에는 이미지 작성과 관련된 보다 구체적인 데이터가 포함되어 있다.[12]업로드 구성 요소가 업로드 프로세스에서 원본 이미지 메타데이터를 보존하는 것은 매우 중요하다.
퀄리티 미터
퀄리티 미터는 영상 화질(dpi, 너비, 높이)을 보여주는 시각적 표시기로, 사용자가 사용할 수 있을 만큼 이미지가 좋은지 판단하는 데 도움을 준다.화질측정기 사용 예로는 이미지 해상도가 맞지 않는 경우 선택한 형식으로 인쇄하도록 사용자에게 알리는 업로드 컴포넌트가 내장된 사진인쇄 웹 사이트를 들 수 있다.

참조

  1. ^ "RFC 1867 Form-based File Upload in HTML".
  2. ^ "HTML Forms and Input".
  3. ^ "W3C HTML5 Working Draft".
  4. ^ "W3C HTML5 API Specifications".
  5. ^ "W3C OS Statistics".
  6. ^ "W3C Browser Statistics".
  7. ^ "W3C Web Technology Surveys. Usage of Flash for websites".
  8. ^ "Adobe Flash Statistics. PC Penetration".
  9. ^ "HTML5 Support Statistics".
  10. ^ "BrowserScope HTML5 support statistics".
  11. ^ "Exif specification".
  12. ^ "IPTC Specification". Archived from the original on 2012-06-16. Retrieved 2012-06-15.