728x90
MIME 타입
- 클라이언트에게 전송된 문서의 다양성을 알려주기 위한 메커니즘
- 웹에서 파일의 확장자는 의미가 없음
- 각 문서와 함께 올바른 MIME 타입을 전송하도록 서버가 정확히 설정하는 것이 중요
- 브라우저들은 리소스를 내려받았을 때 해야 할 기본 동작이 무엇인지를 결정하기 위해 MIME 타입을 사용
문법
- 일반적인 구조
type/subtype
/
로 구분된 두 개의 문자열인 타입과 서브타입으로 구성됨- 스페이스는 허용되지 않음
- type은 카테고리를 나타내며 개별(discrete) 혹은 멀티파트 타입이 될 수 있음
- subtype 은 각각의 타입에 한정됨
- MIME 타입은 대소문자를 구분하지는 않지만 전통적으로 소문자를 사용
- 개별 타입
- 문서의 카테고리
타입 설명 서브타입 예시 text 텍스트를 포함하는 모든 문서, 인간이 읽을 수 있어야 함 text/plain, text/html, text/css, text/javascript image 모든 종류의 이미지 파일 image/gif, image/png, image/jpeg, image/bmp, image/webp audio 모든 종류의 오디오 파일 audio/midi, audio/mpeg, audio/webm, audio/ogg, audio/wav video 모든 종류의 비디오 파일 video/webm, video/ogg application 모든 종류의 이진 데이터 application/octet-stream, application/pkcs12, application/vnd.mspowerpoint, application/xhtml+xml, application/xml, application/pdf
- 문서의 카테고리
- 멀티파트 타입
- 다른 MIME 타입들을 지닌 개별적인 파트들로 나누어지는 문서의 카테고리
- 합성된 문서를 나타내는 방법
- HTML Forms과 POST 메서드의 관계 속에서 사용되는 multipart/form-data 그리고 전체 문서의 하위 집합만 전송하기 위한 206 Partial Content 상태 메시지와 함께 사용되는 multipart/byteranges를 제외하고는, HTTP가 멀티파트 문서를 다룰 수 있는 특정한 방법은 존재하지 않음
MIME 타입의 전체 목록
- IANA에서 MIME 미디어 타입의 공식적인 레지스트리로 list공식적인 MIME 타입의 전체 목록을 관리
- IANA(Internet Assigned Numbers Authority) : 인터넷 할당 번호 관리기관의 약자로 IP 주소, 최상위 도메인 등을 관리하는 단체, 현재는 ICANN이 관리
중요한 MIME 타입 목록
확장자 | 문서종류 | MIME 타입 |
---|---|---|
.aac | AAC 오디오 파일 | audio/aac |
.abw | AbiWord 문서 | application/x-abiword |
.arc | 아카이브 문서 (인코딩된 다중 파일) | application/octet-stream |
.avi | AVI: Audio Video Interleave | video/x-msvideo |
.azw | 아마존 킨들 전자책 포맷 | application/vnd.amazon.ebook |
.bin | 모든 종류의 이진 데이터 | application/octet-stream |
.bz | BZip 아카이브 | application/x-bzip |
.bz2 | BZip2 아카이브 | application/x-bzip2 |
.csh | C-Shell 스크립트 | application/x-csh |
.css | Cascading Style Sheets (CSS) | text/css |
.csv | Comma-separated values (CSV) | text/csv |
.doc | Microsoft Word | application/msword |
.epub | Electronic publication (EPUB) | application/epub+zip |
.gif | Graphics Interchange Format (GIF) | image/gif |
.htm .html | HyperText Markup Language (HTML) | text/html |
.ico | Icon 포맷 | image/x-icon |
.ics | iCalendar 포맷 | text/calendar |
.jar | Java 아카이브 (JAR) | application/java-archive |
.jpeg .jpg | JPEG 이미지 | image/jpeg |
.js | JavaScript (ECMAScript) | text/javascript (Specifications: HTML and RFC 9239) |
.json | JSON 포맷 | application/json |
.mid .midi | Musical Instrument Digital Interface (MIDI) | audio/midi |
.mpeg | MPEG 비디오 | video/mpeg |
.mpkg | Apple Installer Package | application/vnd.apple.installer+xml |
.odp | OpenDocuemnt | 프리젠테이션 문서 |
.ods | OpenDocuemnt 스프레드시트 문서 | application/vnd.oasis.opendocument.spreadsheet |
.odt | OpenDocument 텍스트 문서 | application/vnd.oasis.opendocument.text |
.oga | OGG 오디오 | audio/ogg |
.ogv | OGG 비디오 | video/ogg |
.ogx | OGG | application/ogg |
Adobe Portable Document Format (PDF) | application/pdf | |
.ppt | Microsoft PowerPoint | application/vnd.ms-powerpoint |
.rar | RAR 아카이브 | application/x-rar-compressed |
.rtf | Rich Text Format (RTF) | application/rtf |
.sh | Bourne 쉘 스크립트 | application/x-sh |
.svg | Scalable Vector Graphics (SVG) | image/svg+xml |
.swf | Small web format (SWF) 혹은 Adobe Flash document | application/x-shockwave-flash |
.tar | Tape Archive (TAR) | application/x-tar |
.tif .tiff | Tagged Image File Format (TIFF) | image/tiff |
.ttf | TrueType Font | application/x-font-ttf |
.vsd | Microsft Visio | application/vnd.visio |
.wav | Waveform Audio Format | audio/x-wav |
.weba | WEBM 오디오 | audio/webm |
.webm | WEBM 비디오 | video/webm |
.webp | WEBP 이미지 | image/webp |
.woff | Web Open Font Format (WOFF) | application/x-font-woff |
.xhtml XHTML | application/xhtml+xml | |
.xls | Microsoft Excel | application/vnd.ms-excel |
.xml | XML | application/xml |
.xul | XUL | application/vnd.mozilla.xul+xml |
.zip | ZIP archive | application/zip |
.3gp | 3GPP 오디오/비디오 컨테이너 | video/3gpp audio/3gpp (if it doesn't contain video) |
.3g2 | 3GPP2 오디오/비디오 컨테이너 | video/3gpp2 audio/3gpp2 (if it doesn't contain video) |
.7z | 7-zip 아카이브 | application/x-7z-compressed |
728x90
반응형