HTTP Content-Type header is used to specify the HTTP content type. The Content-Type header can be different values that are defined previously by the HTTP and related standards. The Content-Type header can be used to set the content or HTTP data as image, sound, video, text, etc. The content-type is very useful to define a content type in detail. The client makes a request with its browser to the specific web page or URL. The web server returns some data which can be in different formats. The content-type is added by the server in general in order to provide information about the data. So the client web browser can interpret the provided data properly.
As the Content-Type is specified in the HTTP standard all popular web browsers like Google Chrome, Mozilla Firefox, Internet Explorer, Safari, Opera supports the HTTP Content-Type header and related data presentations.
HTTP Content-Type Syntax
The HTTP Content-Type header uses the following syntax. The Content-Type can be expressed as uppercase (CONTENT-TYPE) or lowercase (content-type) there is no restriction. But the standard way is expressing as Content-Type.
Content-Type: text/html; charset=UTF-8
- The : is used to separate the Content-Type header from the content-type values.
- text/html is the media type part that sets the content as text where the text is the category and html is the subcategory.
- charset=UTF-8 specifies the HTML type is encoded as UTF-8. Alternatively, it can be set UTF-16 or other encoding formats like ASCII, etc.
Content-Type Directives
Contet-Type may use different directives like media type, charset or boundary. We have allready examined the media type as text/html and charset as UTF-8 in the syntax part. The boundary directive is used to set the size for the multipart entities.
All HTTP Content-Type Header Values
Type | Value |
---|---|
Application | application/EDI-X12 application/EDIFACT application/javascript application/octet-stream application/ogg application/pdf application/xhtml+xml application/x-shockwave-flash application/json application/ld+json application/xml application/zip application/x-www-form-urlencoded |
Audio | audio/mpeg audio/x-ms-wma audio/vnd.rn-realaudio audio/x-wav |
Image | image/gif image/jpeg image/png image/tiff image/vnd.microsoft.icon image/x-icon image/vnd.djvu image/svg+xml |
Multipart | multipart/mixed multipart/alternative multipart/related (using by MHTML (HTML mail).) multipart/form-data |
Text | text/css text/csv text/html text/javascript (obsolete) text/plain text/xml |
Video | video/mpeg video/mp4 video/quicktime video/x-ms-wmv video/x-msvideo video/x-flv video/webm |
VND | application/vnd.oasis.opendocument.text application/vnd.oasis.opendocument.spreadsheet application/vnd.oasis.opendocument.presentation application/vnd.oasis.opendocument.graphics application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/vnd.ms-powerpoint application/vnd.openxmlformats-officedocument.presentationml.presentation application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document application/vnd.mozilla.xul+xml |
Content Types
Below the content types and their explanation can be found. These are also called as MIME types.
Extension | Explantion | Content-Type |
---|---|---|
.aac | AAC audio | audio/aac |
.abw | AbiWord document | application/x-abiword |
.arc | Archive document (multiple files embedded) | application/x-freearc |
.avi | AVI: Audio Video Interleave | video/x-msvideo |
.azw | Amazon Kindle eBook format | application/vnd.amazon.ebook |
.bin | Any kind of binary data | application/octet-stream |
.bmp | Windows OS/2 Bitmap Graphics | image/bmp |
.bz | BZip archive | application/x-bzip |
.bz2 | BZip2 archive | application/x-bzip2 |
.csh | C-Shell script | application/x-csh |
.css | Cascading Style Sheets (CSS) | text/css |
.csv | Comma-separated values (CSV) | text/csv |
.doc | Microsoft Word | application/msword |
.docx | Microsoft Word (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 Compressed Archive | application/gzip |
.gif | Graphics Interchange Format (GIF) | image/gif |
.htm | 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 images | image/jpeg |
.js | JavaScript | text/javascript |
.json | JSON format | application/json |
.jsonld | JSON-LD format | application/ld+json |
.mid .midi | Musical Instrument Digital Interface (MIDI) | audio/midi audio/x-midi |
.mjs | JavaScript module | text/javascript |
.mp3 | MP3 audio | audio/mpeg |
.cda | CD audio | application/x-cdf |
.mp4 | MP4 audio | video/mp4 |
.mpeg | MPEG Video | video/mpeg |
.mpkg | Apple Installer Package | application/vnd.apple.installer+xml |
.odp | OpenDocument presentation document | application/vnd.oasis.opendocument.presentation |
.ods | OpenDocument spreadsheet document | application/vnd.oasis.opendocument.spreadsheet |
.odt | OpenDocument text document | application/vnd.oasis.opendocument.text |
.oga | OGG audio | audio/ogg |
.ogv | OGG video | video/ogg |
.ogx | OGG | application/ogg |
.opus | Opus audio | audio/opus |
.otf | OpenType font | font/otf |
.png | Portable Network Graphics | image/png |
.pdf | Adobe Portable Document Format (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 archive | 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 |
.swf | Small web format (SWF) or Adobe Flash document | application/x-shockwave-flash |
.tar | Tape Archive (TAR) | application/x-tar |
.tif | Tagged Image File Format (TIFF) | image/tiff |
.ts | MPEG transport stream | video/mp2t |
.ttf | TrueType Font | font/ttf |
.txt | Text, (generally ASCII or 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 | application/xml |
.xul | XUL | application/vnd.mozilla.xul+xml |
.zip | ZIP archive | application/zip |
.3gp | 3GPP audio/video container | video/3gpp audio/3gpp if it doesn’t contain video |
.3g2 | 3GPP2 audio/video container | video/3gpp2 audio/3gpp2 if it doesn’t contain video |
.7z | 7-zip archive | application/x-7z-compressed |
Specify Content-Type with PHP
The PHP applications can set the Content-Type of the HTTP response. The header() method of the PHP can be used to set content type. The the content ot data should be provided to the reponse.
<?php
//Set Content Type as image png
header('Content-type: image/png');
//with header Content type
echo file_get_contents("https://wisetut.com/image.png");
?>