HTTP

انواع رسانه‌ها در HTTP (MIME Types)

معرفی MIME Types

با توجه به اینکه اینترنت میزبان هزاران نوع داده مختلف است، پروتکل HTTP به دقت هر شیء را که از طریق وب منتقل می‌شود با یک برچسب فرمت داده به نام MIME type برچسب‌گذاری می‌کند. MIME (Multipurpose Internet Mail Extensions) در ابتدا برای حل مشکلات جابجایی پیام‌ها بین سیستم‌های مختلف پست الکترونیکی طراحی شده بود. MIME به قدری برای ایمیل‌ها خوب عمل کرد که HTTP نیز آن را برای توصیف و برچسب‌گذاری محتوای چندرسانه‌ای خود پذیرفت.

عملکرد MIME Types در HTTP

سرورهای وب یک MIME type را به همه داده‌های شیء HTTP پیوست می‌کنند. هنگامی که یک مرورگر وب یک شیء را از یک سرور دریافت می‌کند، به MIME type مربوطه نگاه می‌کند تا ببیند آیا می‌داند چگونه با آن شیء کار کند یا خیر. اکثر مرورگرها می‌توانند صدها نوع شیء محبوب را مدیریت کنند: نمایش فایل‌های تصویری، تجزیه و قالب‌بندی فایل‌های HTML، پخش فایل‌های صوتی از طریق بلندگوهای کامپیوتر یا اجرای نرم‌افزارهای خارجی (plug-in) برای مدیریت فرمت‌های خاص.

یک منبع وب هر چیزی است که محتوای وب را فراهم می‌کند
یک منبع وب هر چیزی است که محتوای وب را فراهم می‌کند

ساختار MIME Types

MIME type یک برچسب متنی است که به صورت یک نوع شیء اصلی و یک زیرنوع خاص، با یک اسلش جدا شده، نمایش داده می‌شود. برای مثال:

  • یک سند متنی با فرمت HTML با نوع text/html برچسب‌گذاری می‌شود.
  • یک سند متنی ASCII ساده با نوع text/plain برچسب‌گذاری می‌شود.
  • یک تصویر با فرمت JPEG با نوع image/jpeg برچسب‌گذاری می‌شود.
  • یک تصویر با فرمت GIF با نوع image/gif برچسب‌گذاری می‌شود.
  • یک فیلم با فرمت Apple QuickTime با نوع video/quicktime برچسب‌گذاری می‌شود.
  • یک ارائه مایکروسافت پاورپوینت با نوع application/vnd.ms-powerpoint برچسب‌گذاری می‌شود.

صدها MIME type محبوب وجود دارند و بسیاری از انواع تجربی یا با استفاده محدود نیز موجود هستند. یک لیست بسیار کامل از MIME types این لینک ارائه شده است.

Extension Kind of document MIME Type
.aac AAC audio audio/aac
.abw AbiWord document application/x-abiword
.apng Animated Portable Network Graphics (APNG) image image/apng
.arc Archive document (multiple files embedded) application/x-freearc
.avif AVIF image image/avif
.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
.cda CD audio application/x-cdf
.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.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 images image/jpeg
.js JavaScript text/javascript (Specifications: HTML and RFC 9239)
.json JSON format application/json
.jsonld JSON-LD format application/ld+json
.mid.midi Musical Instrument Digital Interface (MIDI) audio/midiaudio/x-midi
.mjs JavaScript module text/javascript
.mp3 MP3 audio audio/mpeg
.mp4 MP4 video 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 in Ogg container audio/ogg
.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
.tar Tape Archive (TAR) application/x-tar
.tif.tiff 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 is recommended as of RFC 7303 (section 4.1), but text/xml is still used sometimes. You can assign a specific MIME type to a file with .xml extension depending on how its contents are meant to be interpreted. For instance, an Atom feed is application/atom+xml, but application/xml serves as a valid default.
.xul XUL application/vnd.mozilla.xul+xml
.zip ZIP archive application/zip is the standard, but beware that Windows uploads .zip with MIME type application/x-zip-compressed.
.3gp 3GPP audio/video container video/3gppaudio/3gpp if it doesn’t contain video
.3g2 3GPP2 audio/video container video/3gpp2audio/3gpp2 if it doesn’t contain video
.7z 7-zip archive application/x-7z-compressed

اهمیت و کاربرد MIME Types

MIME types نقش بسیار مهمی در انتقال و نمایش داده‌ها در وب دارند. آنها به مرورگرها و دیگر کلاینت‌های HTTP امکان می‌دهند تا به درستی با انواع مختلف محتوا کار کنند و تجربه کاربری یکنواخت و روانی را فراهم کنند. از فایل‌های متنی ساده تا محتوای چندرسانه‌ای پیچیده، همه و همه به کمک MIME types به درستی شناسایی و مدیریت می‌شوند.

در محیط وب امروزی، جایی که تنوع محتوا از متن و تصویر تا ویدئو و صوت به شدت گسترده است، استفاده صحیح از MIME types به توسعه‌دهندگان وب اجازه می‌دهد تا بدون نگرانی از ناسازگاری‌ها و مشکلات فرمت‌های مختلف، به ایجاد و ارائه محتوای غنی و متنوع بپردازند. همچنین، این امر به کاربران امکان می‌دهد تا بدون نیاز به تنظیمات دستی، از محتوای مورد نظر خود به بهترین شکل ممکن بهره‌برداری کنند.

پیاده‌سازی و مدیریت MIME Types در سرورها

مدیریت صحیح MIME types بر روی سرورهای وب از اهمیت بالایی برخوردار است. سرورها باید به درستی پیکربندی شوند تا نوع MIME صحیح را برای هر نوع فایل مشخص کنند. این کار می‌تواند به صورت دستی در فایل‌های پیکربندی سرور انجام شود یا با استفاده از ماژول‌ها و افزونه‌های خاصی که این کار را به صورت خودکار انجام می‌دهند.

به عنوان مثال، در سرور آپاچی، می‌توان انواع MIME را در فایل پیکربندی mime.types تعریف کرد. همچنین، در سرورهای Nginx نیز می‌توان انواع MIME را در بخش http فایل پیکربندی مشخص کرد.

MIME types یک بخش اساسی از پروتکل HTTP هستند که به سازماندهی و مدیریت انواع مختلف محتوا در وب کمک می‌کنند. با استفاده از MIME types، توسعه‌دهندگان و سرورهای وب می‌توانند به درستی انواع محتوا را شناسایی و مدیریت کنند و تجربه کاربری بهتری را برای کاربران فراهم کنند. از فایل‌های متنی ساده تا محتوای چندرسانه‌ای پیچیده، MIME types نقش کلیدی در ارتباطات وب ایفا می‌کنند و به طور مداوم با پیشرفت تکنولوژی و نیازهای جدید تطبیق می‌یابند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا