From 666bb2163592028d3e36aa75e67cbd9af46e778c Mon Sep 17 00:00:00 2001 From: HoJeong Im <39ghwjd@naver.com> Date: Fri, 6 Oct 2023 21:59:41 +0900 Subject: [PATCH] [ko]: add files in `web/http/basic_of_http/mime_types` (#15726) [add]: add index.md for web/http/basic_of_http/mime_types --- .../mime_types/common_types/index.md | 140 +++++---- .../http/basics_of_http/mime_types/index.md | 281 +++++++++++++----- 2 files changed, 284 insertions(+), 137 deletions(-) diff --git a/files/ko/web/http/basics_of_http/mime_types/common_types/index.md b/files/ko/web/http/basics_of_http/mime_types/common_types/index.md index c5236551473e31..6c6410959b93fb 100644 --- a/files/ko/web/http/basics_of_http/mime_types/common_types/index.md +++ b/files/ko/web/http/basics_of_http/mime_types/common_types/index.md @@ -1,72 +1,92 @@ --- -title: MIME 타입의 전체 목록 +title: 일반 MIME 타입 slug: Web/HTTP/Basics_of_HTTP/MIME_types/Common_types +l10n: + sourceCommit: 997a0ec66e1514b7269076195b2419db334e876e --- {{HTTPSidebar}} 다음은 일반적인 확장자로 정렬된, 문서 타입과 관련된 MIME 타입의 포괄적인 목록입니다. -두 개의 주요 MIME 타입은 기본 타입에 있어 중요한 역할을 합니다: +두 개의 주요 MIME 타입은 기본 타입에 있어 중요한 역할을 합니다. - `text/plain`는 텍스트 파일을 위한 기본값입니다. 텍스트 파일은 인간이 읽을 수 있어야 하며 이진 데이터를 포함해서는 안됩니다. -- `application/octet-stream`는 다른 모든 경우를 위한 기본값입니다. 알려지지 않은 파일 타입은 이 타입을 사용해야 합니다. 브라우저들은 이런 파일들을 다룰 때, 사용자를 위험한 동작으로부터 보호하도록 개별적인 주의를 기울여야 합니다. +- `application/octet-stream`는 다른 모든 경우를 위한 기본값입니다. 알려지지 않은 파일 타입은 이 타입을 사용해야 합니다. 브라우저들은 이런 파일들을 다룰 때, 소프트웨어 취약점과 발생할 수 있는 위험한 동작으로부터 보호하도록 특히 주의를 기울여야 합니다. -IANA는 MIME 미디어 타입의 공식적인 레지스트리로 [list공식적인 MIME 타입의 전체 목록](http://www.iana.org/assignments/media-types/media-types.xhtml)을 관리합니다. 다음 표에 웹에 대한 몇 가지 중요한 MIME 타입들이 나와 있습니다: +IANA는 MIME 미디어 타입의 공식적인 레지스트리로 [공식적인 MIME 타입의 전체 목록](http://www.iana.org/assignments/media-types/media-types.xhtml)을 관리합니다. 다음 표에 웹에 대한 몇 가지 중요한 MIME 타입들이 나와 있습니다. -| 확장자 | 문서 종류 | MIME 타입 | -| -------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `.aac` | AAC 오디오 파일 | `audio/aac` | -| `.abw` | [AbiWord](https://en.wikipedia.org/wiki/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](https://html.spec.whatwg.org/multipage/#scriptingLanguages) and [RFC 9239](https://www.rfc-editor.org/rfc/rfc9239)) | -| `.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 프리젠테이션 문서 | `application/vnd.oasis.opendocument.presentation` | -| `.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` | -| `.pdf` | Adobe [Portable Document Format](https://acrobat.adobe.com/us/en/why-adobe/about-adobe-pdf.html) (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](https://en.wikipedia.org/wiki/SWF) (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](https://en.wikipedia.org/wiki/3GP_and_3G2) 오디오/비디오 컨테이너 | `video/3gpp` `audio/3gpp` if it doesn't contain video | -| `.3g2` | [3GPP2](https://en.wikipedia.org/wiki/3GP_and_3G2) 오디오/비디오 컨테이너 | `video/3gpp2` `audio/3gpp2` if it doesn't contain video | -| `.7z` | [7-zip](https://en.wikipedia.org/wiki/7-Zip) 아카이브 | `application/x-7z-compressed` | +| 확장자 | 문서 종류 | MIME 타입 | +| --------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `.aac` | AAC 오디오 | `audio/aac` | +| `.abw` | [AbiWord](https://en.wikipedia.org/wiki/AbiWord) 문서 | `application/x-abiword` | +| `.arc` | 아카이브 문서 (다중 파일 포함) | `application/x-freearc` | +| `.avif` | AVIF 이미지 | `image/avif` | +| `.avi` | AVI: 오디오 비디오 인터리브(Audio Video Interleave) | `video/x-msvideo` | +| `.azw` | 아마존 킨들 전자책 포맷 | `application/vnd.amazon.ebook` | +| `.bin` | 모든 종류의 이진 데이터 | `application/octet-stream` | +| `.bmp` | Windows OS/2 비트맵 그래픽 | `image/bmp` | +| `.bz` | BZip 아카이브 | `application/x-bzip` | +| `.bz2` | BZip2 아카이브 | `application/x-bzip2` | +| `.cda` | CD 오디오 | `application/x-cdf` | +| `.csh` | C-셸 스크립트 | `application/x-csh` | +| `.css` | 종속 스타일 시트 (CSS) | `text/css` | +| `.csv` | 쉼표로 구분된 값 (CSV) | `text/csv` | +| `.doc` | Microsoft 워드 | `application/msword` | +| `.docx` | Microsoft 워드 (OpenXML) | `application/vnd.openxmlformats-officedocument.wordprocessingml.document` | +| `.eot` | MS Embedded OpenType fonts | `application/vnd.ms-fontobject` | +| `.epub` | 전자출판물(Electronic publication) (EPUB) | `application/epub+zip` | +| `.gz` | GZip 압축 아카이브 | `application/gzip` | +| `.gif` | Graphics Interchange Format (GIF) | `image/gif` | +| `.htm`, `.html` | HyperText Markup Language (HTML) | `text/html` | +| `.ico` | Icon format | `image/vnd.microsoft.icon` | +| `.ics` | iCalendar format | `text/calendar` | +| `.jar` | Java Archive (JAR) | `application/java-archive` | +| `.jpeg`, `.jpg` | JPEG 이미지 | `image/jpeg` | +| `.js` | JavaScript | `text/javascript` (명세: [HTML](https://html.spec.whatwg.org/multipage/#scriptingLanguages) 및 [RFC 9239](https://www.rfc-editor.org/rfc/rfc9239)) | +| `.json` | JSON 형식 | `application/json` | +| `.jsonld` | JSON-LD 형식 | `application/ld+json` | +| `.mid`, `.midi` | Musical Instrument Digital Interface (MIDI) | `audio/midi`, `audio/x-midi` | +| `.mjs` | JavaScript 모듈 | `text/javascript` | +| `.mp3` | MP3 오디오 | `audio/mpeg` | +| `.mp4` | MP4 비디오 | `video/mp4` | +| `.mpeg` | MPEG 비디오 | `video/mpeg` | +| `.mpkg` | Apple 설치 패키지 | `application/vnd.apple.installer+xml` | +| `.odp` | OpenDocument 프레젠테이션 문서 | `application/vnd.oasis.opendocument.presentation` | +| `.ods` | OpenDocument 스프레드시트 문서 | `application/vnd.oasis.opendocument.spreadsheet` | +| `.odt` | OpenDocument 텍스트 문서 | `application/vnd.oasis.opendocument.text` | +| `.oga` | OGG 오디오 | `audio/ogg` | +| `.ogv` | OGG 비디오 | `video/ogg` | +| `.ogx` | OGG | `application/ogg` | +| `.opus` | Opus 오디오 | `audio/opus` | +| `.otf` | OpenType 폰트 | `font/otf` | +| `.png` | Portable Network Graphics | `image/png` | +| `.pdf` | Adobe [휴대용 문서 형식](https://www.adobe.com/acrobat/about-adobe-pdf.html) (PDF) | `application/pdf` | +| `.php` | Hypertext Preprocessor (**Personal Home Page**) | `application/x-httpd-php` | +| `.ppt` | Microsoft PowerPoint | `application/vnd.ms-powerpoint` | +| `.pptx` | Microsoft PowerPoint (OpenXML) | `application/vnd.openxmlformats-officedocument.presentationml.presentation` | +| `.rar` | RAR 아카이브 | `application/vnd.rar` | +| `.rtf` | Rich Text Format (RTF) | `application/rtf` | +| `.sh` | Bourne shell script | `application/x-sh` | +| `.svg` | Scalable Vector Graphics (SVG) | `image/svg+xml` | +| `.tar` | Tape Archive (TAR) | `application/x-tar` | +| `.tif`, `.tiff` | Tagged Image File Format (TIFF) | `image/tiff` | +| `.ts` | MPEG 전송 스트림 | `video/mp2t` | +| `.ttf` | TrueType Font | `font/ttf` | +| `.txt` | Text, (일반적으로 {{Glossary("ASCII")}} 또는 ISO 8859-_n_) | `text/plain` | +| `.vsd` | Microsoft Visio | `application/vnd.visio` | +| `.wav` | Waveform Audio Format | `audio/wav` | +| `.weba` | WEBM audio | `audio/webm` | +| `.webm` | WEBM video | `video/webm` | +| `.webp` | WEBP image | `image/webp` | +| `.woff` | Web Open Font Format (WOFF) | `font/woff` | +| `.woff2` | Web Open Font Format (WOFF) | `font/woff2` | +| `.xhtml` | XHTML | `application/xhtml+xml` | +| `.xls` | Microsoft Excel | `application/vnd.ms-excel` | +| `.xlsx` | Microsoft Excel (OpenXML) | `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` | +| `.xml` | XML | [RFC 7303](https://datatracker.ietf.org/doc/html/rfc7303#section-4.1) (섹션 4.1)부터 `application/xml`을 권장하지만, `text/xml`은 여전히 가끔 사용됩니다. 내용이 해석되는 방식에 따라 `.xml` 확장자를 가진 파일에 특정 MIME 타입을 할당할 수 있습니다. 예를 들어, Atom 피드는 `application/atom+xml`이지만, `application/xml`은 유효한 기본값으로 사용됩니다. | +| `.xul` | XUL | `application/vnd.mozilla.xul+xml` | +| `.zip` | ZIP archive | `application/zip` | +| `.3gp` | [3GPP](https://en.wikipedia.org/wiki/3GP_and_3G2) audio/video container | `video/3gpp`; 비디오가 포함되어 있지 않은 경우 `audio/3gpp` | +| `.3g2` | [3GPP2](https://en.wikipedia.org/wiki/3GP_and_3G2) audio/video container | `video/3gpp2`; 비디오가 포함되어 있지 않은 경우 `audio/3gpp2` | +| `.7z` | [7-zip](https://en.wikipedia.org/wiki/7-Zip) archive | `application/x-7z-compressed` | diff --git a/files/ko/web/http/basics_of_http/mime_types/index.md b/files/ko/web/http/basics_of_http/mime_types/index.md index d8259b147576a7..f1ac9226072b0e 100644 --- a/files/ko/web/http/basics_of_http/mime_types/index.md +++ b/files/ko/web/http/basics_of_http/mime_types/index.md @@ -1,93 +1,182 @@ --- -title: MIME 타입 +title: MIME 타입 (IANA 미디어 타입) slug: Web/HTTP/Basics_of_HTTP/MIME_types +l10n: + sourceCommit: 592f6ec42e54981b6573b58ec0343c9aa8cbbda8 --- {{HTTPSidebar}} -**MIME 타입**이란 클라이언트에게 전송된 문서의 다양성을 알려주기 위한 메커니즘입니다: 웹에서 파일의 확장자는 별 의미가 없습니다. 그러므로, 각 문서와 함께 올바른 MIME 타입을 전송하도록, 서버가 정확히 설정하는 것이 중요합니다. 브라우저들은 리소스를 내려받았을 때 해야 할 기본 동작이 무엇인지를 결정하기 위해 대게 MIME 타입을 사용합니다. +**미디어 타입** (**Multipurpose Internet Mail Extensions 또는 MIME type**로도 알려져 있음)이란 문서, 파일 또는 바이트 집합의 성격과 형식을 나타냅니다. MIME 타입은 IETF의 {{RFC(6838)}}에 정의 및 표준화되어 있습니다. -수 많은 종류의 문서가 있으므로 많은 MIME 타입들이 존재합니다. 우리는 이 글에서 웹 개발에 있어 가장 중요한 MIME 타입들 중 몇 가지를 나열해 살펴보긴 하겠지만, 특정 종류의 문서에 딱 들어맞는 것을 보려면 다음의 전용 문서를 참고하시기 바랍니다: [MIME 타입의 전체 목록](/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types). +[인터넷 할당 번호 관리 기관(IANA)](https://www.iana.org/)은 모든 공식 MIME 타입을 담당하며 [미디어 타입](https://www.iana.org/assignments/media-types/media-types.xhtml)에서 가장 최신의 전체 목록을 찾을 수 있습니다. -MIME 타입은 문서 타입 정보를 실어나르는 유일한 방법은 아닙니다: +> **경고:** 브라우저는 '파일 확장자가 아닌' MIME 타입을 사용하여 URL 처리 방법을 결정합니다. +> 따라서, 웹 서버가 응답의 {{HTTPHeader("Content-Type")}} 헤더에 올바른 MIME 타입을 보내는 것이 중요합니다. +> 올바르게 구성하지 않으면, 브라우저가 파일 내용을 잘못 해석할 가능성이 높고, 사이트가 제대로 작동하지 않고 다운로드한 파일이 잘못 처리될 수 있습니다. -- 이름의 접미사가 때때로 사용되는데, 특히 Microsoft의 윈도우즈 시스템이 그렇습니다. 모든 운영체제들이 이런 접미사를 의미있게 생각하는 것은 아니며(Linux 혹은 OS X의 경우 그렇습니다), 외부 MIME 타입의 경우처럼 그들이 정확하다는 보장도 없습니다. -- 매직 넘버. 다른 종류의 파일의 문법은 구조 상 보여지는 타입을 결정하는데 도움을 줍니다. 예를 들어, 각 GIF 파일들은 47 49 46 38 16진수 값 \[GIF89]로 시작되며 PNG 파일의 경우 89 50 4E 47 \[.PNG]로 시작됩니다. 파일의 모든 타입들이 이런 매직 넘버를 가지고 있는 것은 아니므로 100% 신뢰할 만한 시스템은 아니기도 합니다. +## MIME 타입의 구조 -웹에서는 MIME 타입만이 가장 적절하며, 그러므로 조심스럽게 설정되어야 합니다. 브라우저와 서버들은 일반적인 타입이 제공된 경우에만 MIME 타입을 정의하고, 일치하는지 점검하거나 정확한 MIME 타입을 찾기 위해 접미사나 매직 넘버에 근거하는 휴리스틱(발견적 경험)을 사용합니다. +MIME 타입은 가장 일반적으로 슬래시(`/`)로 구분된 'type'과 'subtype'의 두 부분으로 구성됩니다. 또한 이 사이에는 공백이 없습니다. -## 문법 - -### 일반적인 구조 - -``` +```plain type/subtype ``` -MIME 타입의 구조는 매우 간단합니다. `'/'`로 구분된 두 개의 문자열인 타입과 서브타입으로 구성됩니다. 스페이스는 허용되지 않습니다. *type*은 카테고리를 나타내며 _개별(discrete) 혹은_ _멀티파트_ 타입이 될 수 있습니다. _subtype_ 은 각각의 타입에 한정됩니다. +**_type_**은 `video` 또는 `text`와 같이 데이터 타입이 속하는 일반 카테고리를 나타냅니다. -MIME 타입은 대소문자를 구분하지는 않지만 전통적으로 소문자로 쓰여집니다. +**_subtype_**은 MIME 타입이 나타내는 지정된 타입의 정확한 데이터 종류를 식별합니다. +예를 들어, MIME 타입 `text`의 경우 하위 타입은 `plain` (평문 텍스트), `html` ({{Glossary("HTML")}} 소스 코드) 또는 `calendar` (iCalendar/`.ics` 용)입니다. -### 개별 타입 +각 타입에는 고유한 하위 타입이 있습니다. MIME 타입은 항상 타입과 하위 타입 모두 가지며, 둘 중 하나만 가지지는 않습니다. -``` -text/plain -text/html -image/jpeg -image/png -audio/mpeg -audio/ogg -audio/* -video/mp4 -application/octet-stream -… +추가적인 세부정보를 제공하기 위해 선택적 **매개변수**를 추가할 수 있습니다. + +```plain +type/subtype;parameter=value ``` -_개별_ 타입은 문서의 카테고리를 가리키며, 다음 중 하나가 될 수 있습니다: +예를 들어, 기본 타입이 `text`인 MIME 타입의 경우 선택적 `charset` 매개변수를 추가하여 데이터의 문자에 사용되는 문자 세트를 지정할 수 있습니다. +`문자 집합`이 지정되지 않은 경우, {{Glossary("user agent", "사용자 에이전트")}} 설정으로 재정의되지 않는 한 기본 값은 {{Glossary("ASCII")}} (`US-ASCII`)입니다. +UTF-8 텍스트 파일을 지정하려면, MIME 타입 `text/plain;charset=UTF-8`이 사용됩니다. -| 타입 | 설명 | 일반적인 서브타입 예시 | -| ------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | -| `text` | 텍스트를 포함하는 모든 문서를 나타내며 이론상으로는 인간이 읽을 수 있어야 합니다 | `text/plain`, `text/html`, `text/css, text/javascript` | -| `image` | 모든 종류의 이미지를 나타냅니다. (animated gif처럼) 애니메이션되는 이미지가 이미지 타입에 포함되긴 하지만, 비디오는 포함되지 않습니다. | `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 타입은 대소문자를 구분하지는 않지만 전통적으로 소문자로 쓰여집니다. 매개변수 값은 대소문자를 구분할 수 있습니다. -특정 서브타입이 없는 텍스트 문서들에 대해서는 `text/plain`가 사용되어야 합니다. 특정 혹은 알려진 서브타입이 없는 이진 문서에 대해서는 유사하게, `application/octet-stream`이 사용되어야 합니다. +### 타입 -### 멀티파트 타입 +타입에는 **discrete** 및 **multipart**라는 두 가지 클래스가 있습니다. 개별 타입은 단일 텍스트나 음악 파일, 단일 비디오 등 단일 파일이나 매체를 나타내는 타입입니다. +multipart 타입은 여러 컴포넌트 조각으로 구성된 문서를 나타내며, 각 부분은 고유한 개별 MIME 타입을 가질 수 있고, multipart 타입은 하나의 트랜잭션으로 함께 전송되는 여러 파일을 캡슐화할 수 있습니다. +예를 들어, 이메일에 여러 파일을 첨부할 때 multipart MIME 타입이 사용됩니다. -``` -multipart/form-data -multipart/byteranges -``` +### 개별 타입 -_멀티파트_ 타입은 일반적으로 다른 MIME 타입들을 지닌 개별적인 파트들로 나누어지는 문서의 카테고리를 가리킵니다. 즉 이 타입은 _합성된_ 문서를 나타내는 방법입니다. [HTML Forms](/ko/docs/Web/Guide/HTML/Forms)과 {{HTTPMethod("POST")}} 메서드의 관계 속에서 사용되는 `multipart/form-data` 그리고 전체 문서의 하위 집합만 전송하기 위한 {{HTTPStatus("206")}} `Partial Content` 상태 메시지와 함께 사용되는 `multipart/byteranges`를 제외하고는, HTTP가 멀티파트 문서를 다룰 수 있는 특정한 방법은 존재하지 않습니다: 메시지는 브라우저에 간단히 전달됩니다 (문서를 인라인에 어떻게 디스플레이할지 모르기에, '다른 이름으로 저장' 윈도우를 제시할 겁니다) +현재 IANA에 등록된 개별 타입은 다음과 같습니다. + +- `application` + - : 다른 타입 중 하나에 명시적으로 속하지 않는, 모든 종류의 이진 데이터입니다. + 어떤 방식으로든 실행되거나 해석될 데이터 또는 특정 어플리케이션이나 어플리케이션 범위를 사용해야 하는 이진 데이터 입니다. + 일반 이진 데이터(또는 실제 타입을 알 수 없는 이진 데이터)는 `application/octet-stream`입니다. + 다른 일반적인 예로는 `application/pdf`, `application/pkcs8` 및 `application/zip`을 들 수 있습니다. + [(IANA에서 애플리케이션 타입 레지스트리를 확인하세요)](https://www.iana.org/assignments/media-types/media-types.xhtml#application) +- `audio` + - : 오디오 또는 음악 데이터입니다. 예로는 `audio/mpeg`, + `audio/vorbis`를 들 수 있습니다. + [(IANA에서 오디오 타입 레지스트리를 확인하세요)](https://www.iana.org/assignments/media-types/media-types.xhtml#audio) +- `example` + - : MIME 타입을 사용하는 방법을 보여주는 예제에서, 자리 표시자로 사용하도록 예약되어 있습니다. 이 타입은 샘플 코드 목록 및 문서 외부에서 사용되어선 안 됩니다. + `example`은 하위 타입으로도 사용될 수 있습니다. + 예를 들어, 웹에서 오디오 작업과 관련된 경우, MIME 타입 `audio/example`은 해당 타입이 자리 표시자임을 나타내기 위해 사용될 수 있고, 실제 코드를 사용할 때 적절한 타입으로 대체되어야 합니다. +- `font` + - : 글꼴/서체 데이터입니다. 일반적인 예로 `font/woff`, `font/ttf` 및 `font/otf`를 들 수 있습니다. + [(IANA에서 글꼴 타입 레지스트리를 확인하세요)](https://www.iana.org/assignments/media-types/media-types.xhtml#font) +- `image` + - : 비트맵과 벡터 정지 이미지를 모두 포함하는 이미지 또는 그래픽 데이터 애니메이션 {{Glossary("GIF")}} 또는 APNG와 같은 정지 이미지 형식의 애니메이션 버전입니다. + 일반적인 예로`image/jpeg`, `image/png` 및 `image/svg+xml`를 들 수 있습니다. + [(IANA에서 이미지 타입 레지스트리를 확인하세요)](https://www.iana.org/assignments/media-types/media-types.xhtml#image) +- `model` + - : 3D 객체 또는 화면에 대한 모델 데이터입니다. 일반적인 예로 `model/3mf` 및 `model/vrml`를 들 수 있습니다.. + [(IANA에서 모델 타입 레지스트리를 확인하세요)](https://www.iana.org/assignments/media-types/media-types.xhtml#model) +- `text` + - : 사람이 읽을 수 있는 콘텐츠, 소스 코드 또는 쉼표로 구분된 값 (CSV) 형태 데이터와 같은, 텍스트 형식의 데이터를 가지는 텍스트 전용 데이터입니다. + 예로는 `text/plain`, `text/csv` 및 `text/html`이 있습니다. + [(IANA에서 텍스트 타입 레지스트리를 확인하세요)](https://www.iana.org/assignments/media-types/media-types.xhtml#text) +- `video` + - : MP4 영화(`video/mp4`)와 같은 비디오 데이터 또는 파일입니다. + [(IANA에서 비디오 타입 레지스트리를 확인하세요)](https://www.iana.org/assignments/media-types/media-types.xhtml#video) + +특정 하위 타입이 없는 텍스트 문서의 경우, `text/plain`을 사용해야 합니다. +마찬가지로, 특정 하위 타입이나 알려진 하위 타입이 없는 이진 데이터로 이루어진 문서의 경우, `application/octet-stream`을 사용해야 합니다. + +### Multipart 타입 + +**Multipart** 타입은 일반적으로 다른 MIME 타입들을 지닌 개별적인 파트들로 나누어지는 문서의 그룹을 나타냅니다. 종종 MIME 타입이 다른 부분은 특히 이메일 시나리오(모두 동일한 파일의 일부이며 여러 개의 각각의 파일을 나타냄(**복합 문서**를 의미))에서도 사용할 수 있습니다. + +[HTML Forms](/ko/docs/Learn/Forms) 의 {{HTTPMethod("POST")}} 메서드에서 사용되는 `multipart/form-data`와 문서 일부분을 보내기 위해 {{HTTPStatus("206")}} `Partial Content`를 사용하는 `multipart/byteranges`를 제외하면, HTTP는 다중부분 문서를 특별한 방식으로 처리하지 않습니다. 메시지가 브라우저로 전송됩니다(아마도 문서를 표시하는 방법을 모르는 경우 '다른 이름으로 저장'창을 표시함). + +2개의 다중부분 타입이 있습니다. + +- `message` + - : 다른 메시지를 캡슐화하는 메시지입니다. 예를 들어, 데이터의 일부로 전달된 메시지가 포함되어 있는 이메일을 나타내는 데 사용할 수 있거나 또는 마치 여러 메시지인 것럼 매우 큰 메시지를 청크로 나누어 보낼 수 있습니다. 예를 들어, 데이터의 일부로 전달된 메시지가 포함된 이메일을 나타내는 데 사용할 수 있습니다. 또는 마치 여러 메시지인 것처럼 매우 큰 메시지를 청크로 나누어 보낼 수 있습니다. + 예를 들면, `message/rfc822` (전달되거나 회신된 메시지 인용) 및 `message/partial`을 포함하여 큰 메시지를 자동으로 작은 메시지로 나누어 수신자가 재조립할 수 있도록 합니다. + [(IANA에서 메시지 타입 레지스트리를 확인하세요)](https://www.iana.org/assignments/media-types/media-types.xhtml#message) +- `multipart` + - : 개별적으로 서로 다른 MIME 타입을 가질 수 있는 여러 컴포넌트로 구성된 데이터입니다. + 예를 들어 `multipart/form-data` ({{domxref("FormData")}} API를 사용해 생성된 데이터의 경우) 및 `multipart/byteranges` (defined in {{RFC(7233, "", "5.4.1")}}에 정의되어 있고 {{Glossary("HTTP")}}의 {{HTTPStatus(206)}} "Partial Content"와 함께 사용됩니다. 가져온 데이터는 {{HTTPHeader("Range")}} 헤더를 사용하여 전달되는 것과 같이 콘텐츠의 일부일 뿐입니다). + [(IANA에서 Multipart 타입 레지스트리를 참조하세요)](https://www.iana.org/assignments/media-types/media-types.xhtml#multipart) ## 웹 개발자들을 위한 중요한 MIME 타입 ### `application/octet-stream` -이 타입은 이진 파일을 위한 기본값입니다. 이 타입은 실제로 _잘 알려지지 않은_ 이진 파일을 의미하므로, 브라우저는 보통 자동으로 실행하지 않거나 실행해야 할지 묻기도 합니다. {{HTTPHeader("Content-Disposition")}} 헤더가 값 `attachment` 와 함게 설정되었고 'Save As' 파일을 제안하는지 여부에 따라 브라우저가 그것을 다루게 됩니다. +이 타입은 이진 파일을 위한 기본값입니다. 이 타입은 실제로 '잘 알려지지 않은' 이진 파일을 의미하므로, 브라우저는 보통 자동으로 실행하지 않거나 실행해야 할지 묻기도 합니다. {{HTTPHeader("Content-Disposition")}} 헤더가 값 `attachment` 와 함게 설정되었고 'Save As' 파일을 제안하는지 여부에 따라 브라우저가 그것을 다루게 됩니다. ### `text/plain` -이것은 텍스트 파일에 대한 기본값입니다. 실제로 _알려지지 않은 텍스트_ 파일일지라도 브라우저들은 그것을 디스플레이할 수 있다고 가정합니다. +이것은 텍스트 파일에 대한 기본값입니다. 실제로 '알려지지 않은 텍스트' 파일일지라도 브라우저들은 그것을 보여줄 수 있다고 가정합니다. -> **참고:** `text/plain`이 *모든 종류의 텍스트 데이터*를 의미하지는 않는다는 것을 알아두시기 바랍니다. 만약 브라우저가 특정 종류의 텍스트 데이터를 예상한 경우, 반드시 일치한다고 간주하지 않을 겁니다. 특히, CSS 파일을 선언한 {{HTMLElement("link")}} 엘리먼트로부터 `text/plain` 파일을 다운로드할 경우, `text/plain`으로 표현된다면 브라우저는 그것을 유효한 CSS 파일로 감지하지 않을 겁니다. CSS의 MIME 타입인 `text/css`이 사용되어야 합니다. +> **참고:** `text/plain`이 '모든 종류의 텍스트 데이터'를 의미하지는 않습니다. +> 만약 브라우저가 특정 종류의 텍스트 데이터를 예상한 경우, 반드시 일치한다고 간주하지 않을 겁니다. +> 특히, CSS 파일을 선언한 {{HTMLElement("link")}} 요소로부터 `text/plain` 파일을 다운로드할 경우, `text/plain`으로 표현된다면 브라우저는 그것을 유효한 CSS 파일로 감지하지 않을 겁니다. +> CSS의 MIME 타입인 `text/css`이 사용되어야만 합니다. ### `text/css` -웹 페이지 내에서 보통 인터프리트되어야 하는 모든 CSS 파일들은 `text/css` 파일이 되어야 합니다. 대게 서버들은 `.css` 접미사를 가진 파일들을 CSS 파일이라고 인식하지 못해 `text/plain` 혹은 `application/octet-stream` MIME 타입으로 전송합니다: 이런 경우 대부분의 브라우저들이 CSS 파일이라고 인식하지 못하며 조용히 무시될 겁니다. 올바른 타입으로 CSS 파일을 서브하는데 특별한 주의가 필요합니다. +웹 페이지를 그리는 CSS 파일들은 `text/css` 파일이 **되어야만 합니다**. +서버가 `.css` 접미사를 가진 파일들을 CSS 파일이라고 인식하지 못하면, `text/plain` 또는 `application/octet-stream` MIME 타입으로 전송할지도 모릅니다. +이런 경우 대부분의 브라우저들이 CSS 파일이라고 인식하지 못하며 조용히 무시될 겁니다. ### `text/html` -모든 HTML 컨텐츠는 이 타입과 함께 서브되어야 합니다. `application/xml+html`와 같은 XHTML을 위한 대체 MIME 타입들은 현재에는 대부분 쓸모가 없습니다(HTML5이 이 포맷을 흡수했습니다). +모든 HTML 컨텐츠는 이 타입과 함께 제공되어야 합니다. `application/xml+html`와 같은 XHTML을 위한 대체 MIME 타입들은 현재에는 대부분 사용되지 않습니다. + +### `text/javascript` + +[IANA 미디어 타입](https://www.iana.org/assignments/media-types/media-types.xhtml#text)마다, [RFC 9239](https://www.rfc-editor.org/rfc/rfc9239.html) 및 [HTML 명세](https://html.spec.whatwg.org/multipage/scripting.html#scriptingLanguages:text/javascript), JavaScript 컨텐츠는 MIME 타입 `text/javascript` 사용해서 제공되어야 합니다. +다른 MIME 타입은 JavaScript에 유효한 것으로 간주되지 않으며, `text/javascript` 이외의 MIME 타입을 사용하면 스크립트가 로드되거나 실행되지 않을 수 있습니다. + +일부 JavaScript 콘텐츠는 스크립트 콘텐츠에 대한 문자 집합을 지정하려는 시도로, MIME 타입의 일부로 `charset` 매개변수와 함께 잘못 제공되는 것을 발견할 수 있습니다. +해당 `charset` 매개변수는 JavaScript 콘텐츠에 유효하지 않으며, 대부분의 경우 스크립트 로드에 실패하게 됩니다. + +#### 레거시 JavaScript MIME 타입 + +역사적 이유로 `text/javascript` MIME 타입 외에도 [MIME 스니핑 표준](https://mimesniff.spec.whatwg.org/) (브라우저가 MIME 타입을 해석하고 유효한 타입이 없는 콘텐츠로 무엇을 해야 하는지 파악하는 방법에 대한 정의)을 사용하면 다음 레거시 JavaScript MIME 타입을 사용하여 JavaScript를 제공할 수도 있습니다. + +- `application/javascript` {{deprecated_inline}} +- `application/ecmascript` {{deprecated_inline}} +- `application/x-ecmascript` {{Non-standard_Inline}} +- `application/x-javascript` {{Non-standard_Inline}} +- `text/ecmascript` {{deprecated_inline}} +- `text/javascript1.0` {{Non-standard_Inline}} +- `text/javascript1.1` {{Non-standard_Inline}} +- `text/javascript1.2` {{Non-standard_Inline}} +- `text/javascript1.3` {{Non-standard_Inline}} +- `text/javascript1.4` {{Non-standard_Inline}} +- `text/javascript1.5` {{Non-standard_Inline}} +- `text/jscript` {{Non-standard_Inline}} +- `text/livescript` {{Non-standard_Inline}} +- `text/x-ecmascript` {{Non-standard_Inline}} +- `text/x-javascript` {{Non-standard_Inline}} + +> **참고:** 주어진 {{Glossary("user agent", "사용자 에이전트")}}가 이들 중 일부 또는 전부를 지원할 수 있더라도 `text/javascript`만 사용해야 합니다. +> 현재는 물론 앞으로도 작동이 보장되는 유일한 MIME 타입입니다. ### 이미지 타입 -오직 널리 알려지고 웹에 안전하다고 취급되는 소수의 이미지 타입만이 웹 페이지 내에서 사용될 수 있습니다: +MIME 타입이 `image`인 파일에는 이미지 데이터가 포함되어 있습니다. 하위 타입은 데이터가 나타내는 특정 이미지 파일 형식을 지정합니다. + +다음 이미지 타입은 웹페이지에서 사용하기에 '안전한' 것으로 간주될 만큼 일반적으로 사용됩니다. +- [`image/apng`](/ko/docs/Web/Media/Formats/Image_types#apng_animated_portable_network_graphics): Animated Portable Network Graphics (APNG) +- [`image/avif`](/ko/docs/Web/Media/Formats/Image_types#avif_image) : AV1 이미지 파일 포맷 (AVIF) +- [`image/gif`](/ko/docs/Web/Media/Formats/Image_types#gif_graphics_interchange_format): Graphics Interchange 포맷 (GIF) +- [`image/jpeg`](/ko/docs/Web/Media/Formats/Image_types#jpeg_joint_photographic_experts_group_image): Joint Photographic Expert Group 이미지 (JPEG) +- [`image/png`](/ko/docs/Web/Media/Formats/Image_types#png_portable_network_graphics): Portable Network Graphics (PNG) +- [`image/svg+xml`](/ko/docs/Web/Media/Formats/Image_types#svg_scalable_vector_graphics): Scalable Vector Graphics (SVG) +- [`image/webp`](/ko/docs/Web/Media/Formats/Image_types#webp_image): Web Picture 포맷 (WEBP) + +[이미지 파일 타입 및 포맷 가이드](/ko/docs/Web/Media/Formats/Image_types#common_image_file_types)에서는 다양한 이미지 포맷을 사용해야 하는 경우에 대한 정보와 권장사항을 제공합니다. + + ### 오디오와 비디오 타입 -이미지처럼, HTML은 {{HTMLElement("audio")}}과 {{HTMLElement("video")}} 엘리먼트에 사용하기 위한 지원 타입셋을 정의하지는 않습니다. 그래서 그것들 중에 비교적 작은 그룹이 웹에서 사용될 수 있습니다. [HTML audio 그리고 video 엘리먼트에 의해 지원되는 미디어 포맷](/ko/docs/Web/HTML/Supported_media_formats)에서 사용될 수 있는 코덱과 컨테이너 모두를 설명하고 있습니다. +이미지 경우처럼, HTML은 {{HTMLElement("audio")}}과 {{HTMLElement("video")}} 요소에 사용하기 위한 특정 파일 및 코덱 타입을 지원하도록 요구하지 않으므로 중요합니다. 미디어에 사용할 파일 형식과 코덱을 선택할 때 대상 고객과 사용할 수 있는 브라우저 범위(및 해당 브라우저의 버전)를 고려하세요. + +[미디어 컨테이너 형식 가이드](/ko/docs/Web/Media/Formats/Containers)는 웹 브라우저에서 일반적으로 지원되는 파일 형식 목록을 제공합니다. 특별한 사용 사례에 대한 정보, 단점, 호환성 정보 및 기타 세부 정보가 포함되어 있습니다. + +[오디오 코덱](/ko/docs/Web/Media/Formats/Audio_codecs) 및 [비디오 코덱](/ko/docs/Web/Media/Formats/Video_codecs) 가이드에는 웹 브라우저가 지원하는 다양한 코덱이 나열되어 있습니다. 지원하는 오디오 채널 수, 사용되는 압축의 종류, 유용한 비트 전송률 등과 같은 기술 정보와 함께 호환성 세부 정보를 제공하는 경우가 많습니다. -이런 파일들의 MIME 타입은 대부분 컨테이너 포맷을 나타내며 웹 컨텍스트에서 대부분의 타입들은 다음과 같습니다: +[WebRTC에서 사용하는 코덱](/ko/docs/Web/Media/Formats/WebRTC_codecs) 안내서는 주요 웹 브라우저에서 지원하는 코덱을 구체적으로 다루면서, 확장하므로 지원하는 브라우저 범위에 가장 적합한 코덱을 선택할 수 있습니다. -| MIME 타입 | 오디오 혹은 비디오 타입 | -| ------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `audio/wave` `audio/wav` `audio/x-wav` `audio/x-pn-wav` | WAVE 컨테이너 포맷 내 오디오 파일. PCM 오디오 코덱 (WAVE codec "1")이 자주 지원되며, 다른 코덱들이 좀 더 제한된 상태로 지원됩니다(PCM 오디오 코덱이 없는 경우). | -| `audio/webm` | WebM 컨테이너 포맷 내 오디오 파일. 가장 일반적인 오디오 코덱인 Vorbis 그리고 Opus이 사용됩니다. | -| `video/webm` | WebM 컨테이너 포맷 내, 오디오를 지원 가능한 비디오 파일. VP8 그리고 VP9이 이 안에서 가장 일반적으로 사용되는 비디오 코덱입니다. 가장 일반적인 오디오 코덱인 Vorbis 그리고 Opus가 사용됩니다. | -| `audio/ogg` | OGG 컨테이너 포맷 내 오디오 파일. 이 컨텐이너 내에서는 Vorbis가 가장 일반적으로 사용되는 오디오 코덱입니다. | -| `video/ogg` | OGG 컨테이너 포맷 내, 오디오를 지원 가능한 비디오 파일. 이 안에서 가장 흔한 비디오 코덱은 Theora 입니다. 흔한 오디오 코덱은 Vorbis입니다. | -| `application/ogg` | OGG 컨테이너 포맷을 사용하는 오디오 혹은 비디오 파일. 이 안에서 가장 흔한 비디오 코덱은 Theora 입니다. 흔한 오디오 코덱은 Vorbis입니다. | +오디오 또는 비디오 파일의 MIME 타입은 일반적으로 컨테이너 형식(파일 타입)을 지정합니다. 선택적 [코덱 매개변수](/ko/docs/Web/Media/Formats/codecs_parameter)를 MIME 타입에 추가하여 사용할 코덱과 미디어 인코딩에 사용됩 옵션(예, 코덱 프로필, 레벨, 기타 정보)을 추가로 지정할 수 있습니다. + +웹 콘텐츠에 사용되는 가장 일반적인 MIME 유형은 다음과 같지만, 사용 가능한 모든 유형의 전체 목록은 아닙니다. 자세한 내용은 [미디어 컨테이너 형식 가이드](/ko/docs/Web/Media/Formats/Containers)를 참조하세요. + +| MIME 타입 | 오디오 및 비디오 타입 | +| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `audio/wave`, `audio/wav`, `audio/x-wav`, `audio/x-pn-wav` | WAVE 컨테이너 형식의 오디오 파일입니다. PCM 오디오 코덱 (WAVE 코덱 "1")은 종종 지원되지만, 다른 코덱은 지원이 제한됩니다. | +| `audio/webm` | WebM 컨테이너 형식의 오디오 파일입니다. Vorbis 및 Opus는 WebM 명세에서 공식적으로 지원하는 코덱입니다. | +| `video/webm` | WebM 컨테이너 형식의 비디오 파일(오디오 포함 가능) VP8 및 VP9는 가장 일반적인 비디오 코덱입니다. Vorbis 및 Opus는 가장 일반적인 오디오 코덱입니다. | +| `audio/ogg` | Ogg 컨테이너 형식의 오디오 파일입니다. Vorbis는 이러한 컨테이너에 사용되는 가장 일반적인 코덱이지만, Opus는 이제 Ogg에서도 지원됩니다. | +| `video/ogg` | Ogg 컨테이너 형식의 비디오 파일(오디오 포함 가능) Theora는 그 안에서 사용되는 일반적인 비디오 코덱입니다. Vorbis가 일반적으로 오디오 코덱이지만, Opus가 점점 더 보편화되고 있습니다. | +| `application/ogg` | Ogg 컨테이너 형식을 사용하는 오디오 또는 비디오 파일입니다. Theora는 그 안엗서 사용되는 일반적인 비디오 코덱입니다. Vorb is는 일반적인 오디오 코덱입니다. | ### `multipart/form-data` -`multipart/form-data`은 브라우저에서 서버로 [HTML Form](/ko/docs/Web/Guide/HTML/Forms)의 내용을 전송 시 사용할 수 있습니다. 멀티 파트 문서 형식으로써, 경계(이중 대시 `'--'` 로 시작되는 문자열)로 구분되어지는 다른 파트들로 구성됩니다. 각 파트는 그 자체로 개체이며 자신만의 HTTP 헤더를 가지는데, 파일 업로드 필드를 위한 헤더로는 {{HTTPHeader("Content-Disposition")}}, 그리고 가장 일반적인 것 중 하나인 {{HTTPHeader("Content-Type")}}이 있습니다({{HTTPHeader("Content-Length")}}은 경계선이 구분자로 사용되므로 무시됩니다). +`multipart/form-data`은 브라우저에서 서버로 완성된 [HTML Form](/ko/docs/Web/Guide/HTML/Forms)의 내용을 전송 시 사용할 수 있습니다. -``` +다중부분 문서 형식으로써, 경계(이중 대시 `'--'` 로 시작되는 문자열)로 구분되어지는 다른 파트들로 구성됩니다. 각 파트는 그 자체로 개체이며 자신만의 HTTP 헤더를 가지는데, 파일 업로드 필드를 위한 헤더로는 {{HTTPHeader("Content-Disposition")}}, {{HTTPHeader("Content-Type")}}이 있습니다. + +```http Content-Type: multipart/form-data; boundary=aBoundaryString (other headers associated with the multipart document as a whole) @@ -136,20 +235,25 @@ Content-Disposition: form-data; name="myField" --aBoundaryString-- ``` -다음은 HTML form입니다: +다음은 HTML `
`입니다: ```html - - - Check - + + + +
``` -HTML form은 다음 메시지를 전송하게 됩니다: +`
`은 다음 메시지를 전송하게 됩니다: -``` +```http POST / HTTP/1.1 Host: localhost:8000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0 @@ -179,9 +283,11 @@ Simple file. ### `multipart/byteranges` -`multipart/byteranges`는 브라우저로 회신하는 부분적인 응답 전송의 컨텍스트 내에서 사용됩니다. {{HTTPStatus("206")}} `Partial Content` 상태 코드가 전송된 경우, MIME 타입은 문서가 각각의 요청된 범위들 중 하나인 몇 가지 파트들로 구성되어 있음을 알려주기 위해 사용됩니다. 다른 멀티파트 타입처럼, {{HTTPHeader("Content-Type")}}은 경계선 문자열을 정의하기 위해 `boundary` 디렉티브를 사용합니다. 각각의 다른 파트들은 문서의 실제 타입을 가진 {{HTTPHeader("Content-Type")}} 헤더와 그들이 나타내는 범위를 가진 {{HTTPHeader("Content-Range")}}를 지니고 있습니다. +`multipart/byteranges` MIME 타입은 브라우저에 부분적 응답을 보내는 데 사용됩니다. -``` +{{HTTPStatus("206", "206 Partial Content")}} 상태 코드가 전송된 경우, MIME 타입은 문서가 각각의 요청된 범위들 중 하나인 몇 가지 파트들로 구성되어 있음을 알려주기 위해 사용됩니다. 다른 다중부분 타입처럼, {{HTTPHeader("Content-Type")}}은 이 조각들을 분리하기 위해 `boundary` 디렉티브를 사용합니다. 각각의 다른 파트들은 문서의 실제 타입을 가진 {{HTTPHeader("Content-Type")}} 헤더와 그들이 나타내는 범위를 가진 {{HTTPHeader("Content-Range")}}를 지니고 있습니다. + +```http HTTP/1.1 206 Partial Content Accept-Ranges: bytes Content-Type: multipart/byteranges; boundary=3d6b6a416f9b5 @@ -192,7 +298,7 @@ Content-Type: text/html Content-Range: bytes 100-200/1270 eta http-equiv="Content-type" content="text/html; charset=utf-8" /> -