یک نوع رسانه (همچنین به عنوان یک پست الکترونیکی اینترنتی چند منظوره یا نوع MIME شناخته می شود) نشانگر ماهیت و قالب یک سند ، پرونده یا مجموعه بایت ها است. انواع MIME در RFC 6838 IETF تعریف و استاندارد می شوند.
مرجع شماره های شماره اینترنت (IANA) مسئولیت کلیه انواع رسمی MIME را بر عهده دارد ، و می توانید لیست به روز و کامل را در صفحه انواع رسانه های آنها پیدا کنید.
هشدار: مرورگرها برای تعیین نحوه پردازش URL از نوع MIME و نه پسوند پرونده استفاده می کنند ، بنابراین مهم است که سرورهای وب نوع صحیح MIME را در هدر نوع محتوای پاسخ ارسال کنند. اگر این به درستی پیکربندی نشده باشد ، مرورگرها احتمالاً محتوای پرونده ها را نادرست تفسیر می کنند ، سایت ها به درستی کار نمی کنند و پرونده های بارگیری شده ممکن است مورد سوء استفاده قرار گیرند.
ساختار یک نوع میم
یک نوع MIME که معمولاً فقط از دو قسمت تشکیل شده است: یک نوع و یک زیرگروه ، که توسط یک برش ( /) جدا می شوند - بدون فضای سفید بین:
نوع/زیرگروه
نوع نشان دهنده دسته کلی است که نوع داده در آن قرار می گیرد ، مانند فیلم یا متن.
زیرگروه نوع دقیق داده های نوع مشخص شده نوع MIME را مشخص می کند. به عنوان مثال ، برای متن نوع MIME ، زیرگروه ممکن است ساده (متن ساده) ، HTML (کد منبع HTML) یا تقویم (برای iCalendar/ . ics) باشد.
هر نوع مجموعه خاص خود را از زیرگروه های احتمالی دارد. یک نوع MIME همیشه دارای یک نوع و یک زیرگروه است ، هرگز فقط یک یا دیگری.
یک پارامتر اختیاری می تواند برای ارائه جزئیات بیشتر اضافه شود:
نوع/زیرگروه ؛ پارامتر = مقدار
به عنوان مثال ، برای هر نوع MIME که نوع اصلی آن متن است ، می توانید پارامتر اختیاری Charset را اضافه کنید تا مجموعه کاراکتر مورد استفاده برای کاراکترها در داده ها را مشخص کنید. اگر هیچ گونه مشخص نشده ای مشخص نشده باشد ، پیش فرض ASCII (US-ASCII) است ، مگر اینکه توسط تنظیمات عامل کاربر نادیده گرفته شود. برای مشخص کردن یک فایل متنی UTF-8 ، از متن MIME Type/Plain ؛ Charset = UTF-8 استفاده می شود.
انواع MIME حساس به مورد هستند اما به طور سنتی به صورت کوچک نوشته می شوند. مقادیر پارامتر می تواند حساس به مورد باشد.
انواع
دو کلاس از نوع وجود دارد: گسسته و چند منظوره. انواع گسسته انواع مختلفی هستند که یک فایل یا متوسط را نشان می دهند ، مانند یک متن متن یا فایل موسیقی یا یک ویدیوی واحد. یک نوع چندتایی سندی را نشان می دهد که از چند قطعات تشکیل شده است ، که هر یک از آنها ممکن است نوع میمون شخصی خود را داشته باشد. یا ، یک نوع multipart ممکن است چندین پرونده را که در یک معامله با هم ارسال می شوند ، محاصره کند. به عنوان مثال ، هنگام اتصال چندین پرونده به یک ایمیل از انواع MIME MIME استفاده می شود.
انواع گسسته
انواع گسسته ای که در حال حاضر در IANA ثبت شده است عبارتند از:
هر نوع داده باینری که صریحاً در یکی از انواع دیگر قرار نمی گیرد. یا داده هایی که به نوعی اجرا یا تفسیر می شوند یا داده های باینری که برای استفاده به یک برنامه خاص یا دسته برنامه نیاز دارند. داده های باینری عمومی (یا داده های باینری که نوع واقعی آنها ناشناخته است) کاربرد/omtet-stream است. سایر نمونه های متداول شامل برنامه/PDF ، Application/PKCS8 ، و Application/ZIP است.(به رجیستری نوع برنامه در IANA مراجعه کنید)
داده های صوتی یا موسیقی. مثالها شامل صوتی/MPEG ، صوتی/وربیس است.(به رجیستری نوع صوتی در IANA مراجعه کنید)
برای استفاده به عنوان یک مکان نگهدارنده در مثالهایی که نحوه استفاده از انواع MIME را نشان می دهد ، محفوظ است. اینها هرگز نباید در خارج از لیست کد ها و مستندات استفاده شوند. به عنوان مثال می تواند به عنوان زیر گروه استفاده شود. به عنوان مثال ، در نمونه ای مربوط به کار با صدا در وب ، می توان از نوع صوتی/مثال MIME استفاده کرد تا نشان دهد که نوع یک مکان نگهدارنده است و هنگام استفاده از کد در دنیای واقعی باید با یک مورد مناسب جایگزین شود.
داده های قلم/تایپ. نمونه های متداول شامل قلم/Woff ، Font/TTF و FONT/OTF است.(به رجیستری نوع قلم در Iana مراجعه کنید)
تصویر یا داده های گرافیکی از جمله تصاویر Bitmap و Vector Still و همچنین نسخه های متحرک از قالب های تصویر ثابت مانند GIF انیمیشن یا APNG. نمونه های متداول عبارتند از: Image/JPEG ، Image/PNG ، و Image/SVG+XML.(رجیستری نوع تصویر را در Iana مشاهده کنید)
داده های مدل برای یک شیء یا صحنه سه بعدی. مثالها شامل مدل/3MF و مدل/VRML است.(رجیستری نوع مدل را در IANA ببینید)
داده های فقط متن شامل هر محتوای قابل خواندن ، کد منبع یا داده های متنی مانند داده های فرمت شده با کاما (CSV). مثالها عبارتند از: متن/ساده ، متن/CSV ، و متن/HTML.(به رجیستری نوع متن در Iana مراجعه کنید)
داده های ویدیویی یا پرونده ها ، مانند فیلم های MP4 (فیلم/MP4).(به رجیستری نوع ویدیو در Iana مراجعه کنید)
برای اسناد متنی بدون زیرگروه خاص ، باید از متن/دشت استفاده شود. به طور مشابه ، برای اسناد باینری بدون زیرگروه خاص یا شناخته شده ، باید از برنامه کاربردی/اکتت استفاده شود.
انواع چند قسمت
انواع چندتایی نشانگر دسته ای از سند شکسته به قطعات ، اغلب با انواع مختلف تقلید. همچنین می توان از آنها - به ویژه در سناریوهای ایمیل - استفاده کرد تا چندین پرونده جداگانه را نشان دهد که همه بخشی از همان معامله هستند. آنها یک سند کامپوزیت را نشان می دهند.
به جز Data Multipart/Form ، که در روش پست فرم های HTML و Multipart/Byteranges استفاده می شود ، با 206 محتوای جزئی برای ارسال بخشی از یک سند استفاده می شود ، HTTP اسناد چندتایی را به روش خاصی کنترل نمی کند: پیام منتقل می شودبه مرورگر (که احتمالاً اگر نمی داند چگونه سند را نمایش دهد) پنجره "ذخیره به عنوان" را نشان می دهد).
دو نوع چندرتی وجود دارد:
پیامی که پیام های دیگر را در بر می گیرد. به عنوان مثال می توان از این طریق برای نشان دادن ایمیلی که شامل یک پیام ارسال شده به عنوان بخشی از داده های آن است ، یا اجازه ارسال پیام های بسیار بزرگ در تکه ها را که گویا چندین پیام است ، استفاده کند. مثالها شامل پیام/RFC822 (برای ارسال پیام یا ارسال پیام) و پیام/جزئی است تا اجازه دهید یک پیام بزرگ به موارد کوچکتر شکسته شود که به طور خودکار توسط گیرنده مجدداً جمع شود.(رجیستری نوع پیام را در IANA مشاهده کنید)
داده هایی که از چندین مؤلفه تشکیل شده است که ممکن است به صورت جداگانه انواع مختلفی از MIME داشته باشند. مثالها شامل Data Multipart/Form (برای داده های تولید شده با استفاده از FormData API) و Multipart/ByterAnges (در RFC 7233 ، بخش 5. 4. 1 تعریف شده و با پاسخ 206 "محتوای جزئی" HTTP استفاده می شود که داده های واکشی تنها بخشی از آن است. محتوا ، مانند آن با استفاده از هدر دامنه تحویل داده می شود).(رجیستری نوع چندرت را در IANA مشاهده کنید)
انواع مهم MIME برای توسعه دهندگان وب
برنامه/جریان اکتت
این پیش فرض برای پرونده های باینری است. همانطور که این به معنای پرونده باینری ناشناخته است ، مرورگرها معمولاً آن را اجرا نمی کنند ، یا حتی می پرسند که آیا باید اجرا شود. آنها با آن رفتار می کنند که گویی هدر تنظیم محتوا روی پیوست تنظیم شده است و گفتگوی "ذخیره به عنوان" را پیشنهاد می کند.
متن/ساده
این پیش فرض برای پرونده های متنی است. حتی اگر واقعاً به معنای "پرونده متنی ناشناخته" باشد ، مرورگرها فرض می کنند که می توانند آن را نمایش دهند.
توجه: متن/دشت به معنای "هر نوع داده متنی" نیست. اگر آنها انتظار نوع خاصی از داده های متنی را داشته باشند ، احتمالاً آن را یک مسابقه نمی دانند. به طور خاص اگر آنها یک متن/فایل ساده را از یک عنصر اعلام یک فایل CSS بارگیری کنند ، در صورت ارائه با متن/ساده ، آن را به عنوان یک فایل CSS معتبر تشخیص نمی دهند. از متن CSS MIME Text/CSS باید استفاده شود.
متن/CSS
پرونده های CSS که برای سبک کردن یک صفحه وب استفاده می شود باید با متن/CSS ارسال شود. اگر یک سرور پسوند . cs را برای پرونده های CSS تشخیص ندهد ، ممکن است آنها را با انواع متنی/ساده یا برنامه/Octet-Stream MIME ارسال کند. در این صورت ، آنها توسط اکثر مرورگرها به عنوان CSS شناخته نمی شوند و نادیده گرفته می شوند.
متن/HTML
تمام محتوای HTML باید با این نوع ارائه شود. انواع جایگزین MIME برای XHTML (مانند برنامه/XHTML+XML) امروزه بیشتر بی فایده است.
توجه: اگر می خواهید قوانین ، بخش ها یا عناصری که از نام های نام HTML/SVG/MATHML نیستند ، از Application/XML یا Application/XHTML+XML استفاده کنید.
متن/جاوا اسکریپت
طبق رجیستری انواع رسانه های Iana ، RFC 9239 و مشخصات HTML ، همیشه باید با استفاده از متن/جاوا اسکریپت از نوع MIME نوع MIME استفاده شود. هیچ نوع MIME دیگری برای JavaScript معتبر در نظر گرفته نمی شود ، و استفاده از هر نوع MIME به غیر از متن/JavaScript ممکن است منجر به اسکریپت هایی شود که بارگذاری نمی شوند یا اجرا نمی شوند.
شما ممکن است برخی از محتوای JavaScript را نادرست با یک پارامتر Charset به عنوان بخشی از نوع MIME ارائه دهید - به عنوان تلاشی برای مشخص کردن کاراکتر تنظیم شده برای محتوای اسکریپت. این پارامتر charset برای محتوای JavaScript معتبر نیست و در بیشتر موارد منجر به عدم بارگذاری اسکریپت می شود.
انواع میراث جاوا اسکریپت
علاوه بر نوع متن/جاوا اسکریپت ، به دلایل تاریخی ، استاندارد sniffing mime (تعریف چگونگی مرورگرها باید انواع MIME را تفسیر کند و بفهمد چه کاری باید با محتوایی انجام شود که دارای یک مورد معتبر نباشد) همچنین به JavaScript اجازه می دهدبا استفاده از هر یک از میراث زیر میراث زیر انواع MIME:
- برنامه/جاوا اسکریپت کاهش یافته است
- کاربرد/Ecmascript مستهلک شد
- برنامه/X-Ecmascript غیر استاندارد
- برنامه/X-JavaScript غیر استاندارد
- متن/ecmascript مستهلک شده است
- متن/JavaScript1. 0 غیر استاندارد
- متن/JavaScript1. 1 غیر استاندارد
- متن/JavaScript1. 2 غیر استاندارد
- متن/JavaScript1. 3 غیر استاندارد
- متن/JavaScript1. 4 غیر استاندارد
- متن/JavaScript1. 5 غیر استاندارد
- متن/jscript غیر استاندارد
- متن/اسکریپت غیر استاندارد
- متن/X-Ecmascript غیر استاندارد
- متن/x-javascript غیر استاندارد
توجه: حتی اگر هر نماینده کاربر داده شده بتواند از همه یا همه این موارد پشتیبانی کند ، فقط باید از متن/JavaScript استفاده کنید. این تنها نوع تقلبی است که اکنون و در آینده کار می کند.
انواع تصویر
فایلهایی که نوع MIME آنها تصویر است حاوی داده های تصویر است. زیرگروه مشخص می کند که کدام فایل تصویر خاص داده ها را نشان می دهد.
انواع تصویر زیر معمولاً به اندازه کافی استفاده می شود تا برای استفاده در صفحات وب ایمن باشد:
- Image/APNG: گرافیک شبکه قابل حمل متحرک (APNG)
- تصویر/AVIF: فرمت فایل تصویر AV1 (AVIF)
- تصویر/GIF: قالب تعویض گرافیک (GIF)
- Image/JPEG: تصویر گروه متخصص عکاسی مشترک (JPEG)
- تصویر/PNG: گرافیک شبکه قابل حمل (PNG)
- Image/SVG+XML: گرافیک بردار مقیاس پذیر (SVG)
- تصویر/وب: قالب تصویر وب (وب)
راهنمای نوع و قالب فایل تصویر اطلاعات و توصیه هایی را در مورد زمان استفاده از قالب های مختلف تصویر ارائه می دهد.
انواع صوتی و تصویری
راهنمای فرمت های کانتینر رسانه ما لیستی از انواع پرونده ها را که معمولاً توسط مرورگرهای وب پشتیبانی می شوند ، از جمله اطلاعات مربوط به موارد استفاده ویژه آنها ، هرگونه اشکالاتی که در آنها دارند و اطلاعات سازگاری به همراه سایر جزئیات ارائه می دهد ، ارائه می دهد.
راهنماهای کدک صوتی و کدک ویدیویی کدک های مختلفی را که مرورگرهای وب اغلب از آنها پشتیبانی می کنند ، لیست می کنند و جزئیات سازگاری را به همراه اطلاعات فنی مانند تعداد کانال های صوتی از آنها پشتیبانی می کنند ، از چه نوع فشرده سازی استفاده می شود و نرخ بیت و موارد دیگر آنها را ارائه می دهند. مفید در. کدک های مورد استفاده توسط راهنمای WEBRTC با پوشش ویژه کدک های پشتیبانی شده توسط مرورگرهای اصلی وب ، این موضوع را گسترش می دهند ، بنابراین می توانید کدک هایی را انتخاب کنید که به بهترین وجه دامنه مرورگرهایی را که می خواهید از آنها پشتیبانی کنید ، پوشش دهد.
در مورد انواع فایلهای صوتی یا تصویری ، آنها به طور معمول قالب کانتینر (نوع پرونده) را مشخص می کنند. پارامتر CODECS اختیاری را می توان به نوع MIME اضافه کرد تا بیشتر مشخص کند که کدک ها از کدام کد استفاده می کنند و از چه گزینه هایی برای رمزگذاری رسانه استفاده شده است ، مانند مشخصات کدک ، سطح یا سایر اطلاعات از این دست.
متداول ترین انواع MIME مورد استفاده برای محتوای وب در زیر ذکر شده است. این لیست کاملی از انواع مختلفی نیست که ممکن است در دسترس باشد. برای آن به راهنمای فرمت های کانتینر رسانه مراجعه کنید.
| نوع تقلید | نوع صوتی یا ویدئویی |
| صوتی/موج ، صوتی/wav ، صوتی/wav ، صوتی/x-pn-wav | یک فایل صوتی در قالب Wave Container. کدک صوتی PCM (کدک موج "1") اغلب پشتیبانی می شود ، اما سایر کدک ها از پشتیبانی محدودی برخوردار هستند (در صورت وجود). |
| صوتی/وب | یک فایل صوتی در قالب کانتینر وب. Vorbis و Opus کدک هایی هستند که به طور رسمی توسط مشخصات WebM پشتیبانی می شوند. |
| ویدئو/وب | یک فایل ویدیویی ، احتمالاً با صدا ، در قالب WebM Container. VP8 و VP9 رایج ترین کدک های ویدیویی هستند. Vorbis و Opus رایج ترین کدک های صوتی. |
| صوتی/اوگ | یک فایل صوتی در قالب ظرف OGG. Vorbis رایج ترین کدک صوتی است که در چنین ظرفی مورد استفاده قرار می گیرد. با این حال ، Opus اکنون توسط OGG نیز پشتیبانی می شود. |
| ویدئو/OGG | یک فایل ویدیویی ، احتمالاً با صدا ، در قالب OGG Container. Theora کدک ویدیویی معمول است که در درون آن استفاده می شود. Vorbis کدک صوتی معمول است ، اگرچه Opus رایج تر می شود. |
| برنامه/OGG | یک فایل صوتی یا ویدیویی با استفاده از فرمت OGG Container. Theora کدک ویدیویی معمول است که در درون آن استفاده می شود. Vorbis کدک صوتی معمول است. |
چند بخش/فرم
از نوع Data Multipart/Form می توان هنگام ارسال مقادیر فرم HTML تکمیل شده از مرورگر به سرور استفاده کرد.
به عنوان یک قالب اسناد چند منظوره ، از قسمت های مختلف تشکیل شده است ، که توسط یک مرز محدود شده است (رشته ای که با یک خط دوتایی شروع می شود -). هر قسمت موجودیت خاص خود را با عنوان های HTTP خود ، تعیین محتوا و نوع محتوا برای زمینه های بارگذاری پرونده دارد.
نوع محتوا: Data Multipart/Form ؛مرز = فراز و نشیب(سایر هدرهای مرتبط با سند چندتایی به عنوان یک کل) -AboundaryStringمحتوای محتوا: داده های فرم ؛name = "myfile" ؛نام پرونده = "img.jpg" نوع محتوا: تصویر/jpeg(داده ها) -محاصره کردنمحتوای محتوا: داده های فرم ؛name = "myfield"(داده ها)-AboundaryString (زیر بخش های بیشتر)-AboundaryString-
فرم عمل="http: // localhost: 8000/" روش="پست" رمز="چند بخش/فرم"> برچسب>نام:ورودی نام="ماتکفیلد" ارزش="تست" />برچسب> برچسب>ورودی نوع="کادر انتخاب" نام="باکس" />بررسیبرچسب> برچسب>آپلود فایل:ورودی نوع="فایل" نام="مگس" ارزش="test. txt" /> برچسب> دکمه>ارسال پروندهدکمه> فرم>
این پیام را ارسال می کند:
POST/HTTP/1. 1 میزبان: LocalHost: 8000 کاربر عامل: Mozilla/5. 0 (Macintosh ؛ Intel Mac OS X 10. 9 ؛ RV: 50. 0) Gecko/20100101 Firefox/50. 0 قبول: متن/html ، برنامه/xhtml+xml ، application//xml ؛ q = 0. 9 ،*/*؛ q = 0. 8 پذیرش زبان: en-us ، en ؛ q = 0. 5 پذیرش-رمزگذاری: GZIP ، اتصال را خنثی کنید: نگه داشتن ALIVE ارتقاء-بازنویسی-درخواست: 1 محتوا از نوع: Multipart/-داده های فرم ؛مرز = ----------------------------- 8721656041911415653955004498 طول محتوا: 465 ------------------------------- 8721656041911415653955004498 محتوا-تخلیه: داده های فرم ؛NAME = آزمون "MyTextField" ----------------------------- 8721656041911415653955004498 محتوا-تخریب: Data Form ؛name = "MyCheckbox" روشن ----------------------------- 8721656041911415653955004498 محتوا-تخلیه: فرم-داده ؛name = "myfile" ؛FILENAME = "test. txt" محتوا از نوع: متن/فایل ساده ساده.------------------------------- 8721656041911415653955004498--
Multipart/ByterAnges
از نوع MIME Multipart/ByterAnges برای ارسال پاسخ های جزئی به مرورگر استفاده می شود.
هنگامی که 206 کد وضعیت محتوای جزئی ارسال می شود ، این نوع MIME نشان می دهد که این سند از چندین قسمت تشکیل شده است ، یکی برای هر یک از محدوده های درخواست شده. مانند سایر انواع مختلف ، از نوع محتوا برای جدا کردن قطعات از مرز استفاده می کند. هر قطعه دارای یک هدر نوع محتوا با نوع واقعی خود و یک محدوده محتوا از دامنه ای است که نشان می دهد.
HTTP/1. 1 206 محتوای جزئی دامنه پذیرش: بایت نوع محتوا: multipart/byteranges ؛مرز = 3d6b6a416f9b5 محتوا: 385-3d6b6a416f9b5نوع محتوا: متن/HTML دارای محدوده محتوا: بایت 100-200/1270 eta http-equiv="Content-type" content="text/html; charset=utf-8" />
اهمیت تنظیم نوع صحیح MIME
بیشتر سرورهای وب منابع ناشناخته را به عنوان نوع MIME Application/Octet-Stream ارسال می کنند. به دلایل امنیتی ، بیشتر مرورگرها اجازه نمی دهند یک اقدام پیش فرض سفارشی برای چنین منابعی تنظیم کنند و کاربر را مجبور به ذخیره آن در دیسک برای استفاده از آن کند.
برخی از تنظیمات سرور نادرست مشترک:
- پرونده های فشرده شده RAR. در این حالت ، ایده آل می تواند نوع واقعی پرونده های اصلی باشد. این اغلب غیرممکن است زیرا پرونده های RAR می توانند چندین منبع مختلف را در خود جای دهند. در این حالت ، سرور را پیکربندی کنید تا Application/X-RAR را ارسال کند.
- صوتی و تصویری. فقط منابع با نوع صحیح MIME در عناصر یا عناصر پخش می شوند. حتما نوع رسانه صحیح را برای صوتی و تصویری مشخص کنید.
- انواع پرونده اختصاصی. از استفاده از Application/Octet-Stream خودداری کنید زیرا اکثر مرورگرها اجازه نمی دهند یک رفتار پیش فرض (مانند "باز در کلمه") برای این نوع MIME عمومی تعریف کنند. یک نوع خاص مانند برنامه/vnd. mspowerpoint به کاربران امکان می دهد چنین پرونده هایی را به طور خودکار در نرم افزار ارائه مورد نظر خود باز کنند.
خرخر کردن
در صورت عدم وجود یک نوع تقلید ، یا در موارد خاصی که مرورگرها معتقدند که نادرست هستند ، مرورگرها ممکن است با نگاه کردن به بایت های منبع ، نوع درستی صحیح را حدس بزنند.
هر مرورگر عملکردی متفاوتی و تحت شرایط مختلف انجام می دهد.(به عنوان مثال ، در صورت عدم نامناسب بودن نوع MIME ، Safari به پرونده URL نگاه می کند.) نگرانی های امنیتی وجود دارد زیرا برخی از انواع MIME نمایانگر محتوای اجرایی هستند. سرورها می توانند با ارسال هدر گزینه های گزینه X-Content از نوع ، مانع از خراب شدن میمون شوند.
روش های دیگر برای انتقال نوع سند
انواع MIME تنها راه انتقال اطلاعات نوع سند نیستند:
- پسوندهای نام پرونده گاهی اوقات به خصوص در ویندوز مایکروسافت استفاده می شود. همه سیستم عامل ها این پسوندها را معنی دار نمی دانند (مانند لینوکس و MACOS) ، و هیچ تضمینی برای صحیح بودن آنها وجود ندارد.
- اعداد جادویینحو قالب های مختلف با نگاه به ساختار بایت خود ، استنتاج از نوع پرونده را امکان پذیر می کند. به عنوان مثال ، پرونده های GIF با 47 49 46 38 39 مقدار شش ضلعی (GIF89) و پرونده های PNG با 89 50 4E 47 (.png) شروع می شوند. همه انواع پرونده ها دارای شماره جادویی نیستند ، بنابراین این 100 ٪ قابل اعتماد نیست.
همچنین ببینید
- فن آوری های رسانه ای وب
- راهنمای انواع رسانه های مورد استفاده در وب
- به درستی پیکربندی انواع سرور MIME
با این صفحه مشکل محتوا پیدا کرده اید؟
- صفحه را در GitHub ویرایش کنید.
- گزارش محتوا را گزارش دهید.
- منبع را در GitHub مشاهده کنید.
این صفحه آخرین بار در 8 مارس 2023 توسط همکاران MDN اصلاح شد.
طرح شما برای اینترنت بهتر.
کتاب آموزش بورس...
ما را در سایت کتاب آموزش بورس دنبال می کنید
برچسب : نویسنده : محمود استادمحمد بازدید : 32 تاريخ : يکشنبه 1 مرداد 1402 ساعت: 15:38