Skip to main content
낭고넷

HTML input의 accept 속성 이해하기

4분
파일 업로드에서 허용 형식을 골라내는 입력 필터 일러스트

파일 업로드 기능을 구현하다가 accept 속성을 다시 들여다볼 일이 있어 정리해 둔다. 사용자가 업로드할 파일 유형을 제어하는 데 있어 이 속성은 종종 간과되지만, 사용자 경험과 백엔드 처리 효율을 함께 챙길 수 있는 강력한 기능이다.

“Accept” 속성

HTML 폼에서 accept 속성은 <input type='file'> 요소와 함께 사용된다. 이 속성은 서버가 수용하는 파일 유형을 지정하여, 사용자가 파일 시스템을 탐색할 때 브라우저가 파일 유형을 필터링하도록 도와준다. 이 작지만 중요한 속성은 사용자의 시간을 절약하고 서버 측의 불필요한 파일 처리를 방지할 수 있다.

작동 방식

accept 속성을 입력 요소에 추가하면, 브라우저는 파일 선택 대화 상자에 파일 필터를 적용하여 사용자가 선택할 수 있는 파일 유형을 제한한다. 이 속성은 다양한 값들을 가질 수 있으며, 각각은 다른 파일 유형을 나타낸다.

예시

  • 이미지만 허용: accept="image/*"
  • 비디오만 허용: accept="video/*"
  • JPEG 및 PNG 이미지와 같은 특정 파일 유형만 허용: accept=".jpg, .jpeg, .png"

중요한 이유

  1. 사용자 경험: 사용자가 호환되지 않는 파일 유형을 선택하는 것을 방지하여, 사용자의 실수와 불편함을 줄일 수 있다. 특히 파일 탐색이 더 번거로울 수 있는 모바일 환경에서 중요하다.

  2. 데이터 처리: 클라이언트 측에서 파일 유형을 제한함으로써 서버는 예상한 파일 형식만 받게 되어 데이터 검증 및 처리를 단순화한다.

  3. 보안: 보안 기능은 아니지만, 파일 유형을 제한함으로써 악성 파일이 업로드되는 것을 방지하는 추가적인 방법이 될 수 있다.

유의할 점

  • 서버 측 검증과 함께 사용: accept 속성은 클라이언트 측 가이드일 뿐 보안 조치가 아니다. 서버 측에서 항상 파일 유형을 검증해야 한다.

  • 사용자 피드백 제공: UI에서 허용되는 파일 유형을 사용자에게 알려줄 필요가 있다. 이는 브라우저가 accept 속성을 지원하지 않는 경우에 도움이 된다.

  • 브라우저 간 테스트: 다른 브라우저가 accept 속성을 다르게 해석할 수 있다. 애플리케이션이 브라우저에 따라 일관되게 동작하는지 확인해야 한다.


낭고넷

love to write and code

© 2026 낭고넷. All rights reserved.