اچتیامال
نشانواره رسمی اچتیامال 5 | |
| پسوند(های) نام پرونده |
|
|---|---|
| نوع رسانهٔ اینترنتی | text/html |
| کد فایلبندی | متن |
| شناسانه نوع یکسان | public.html |
| توسعهدهنده | کارگروه تعیین فناوری کاربرد ابرمتن وب |
| ارائهٔ اولیه | ۱۹۹۳ |
| آخرین نسخه | |
| گونه | قالب پرونده سند |
| دربرگیرنده | عنصر اچتیامال |
| فراگیرنده | مرورگر وب |
| نیاکان | اسجیامال |
| فرزندان | اکساچتیامال |
| آزاد؟ | بله |
| وبگاه | |
زبان نشانهگذاری ابرمتنی (اچتیامال)[الف] (به انگلیسی: Hyper Text Markup Language) یا زبان نشانهگذاری فرامتن[۱] (به انگلیسی: HTML) زبان نشانهگذاری استاندارد برای اسنادیست که برای نمایشدادن در وب طراحی شده اند. اچتیامال زبانیست که محتوا و ساختار صفحات وب را تعریف و توصیف میکند. این زبان نشانهگذاری همواره در کنار سیاساس و جاوا اسکریپت هستهٔ فناوری ساخت صفحههای وب هستند.
مرورگرهای وب (Browsers) اسناد اچتیامال را از یک سرور وب (Web Server) یا از حافظه محلی (Local Storage) دریافت میکنند و آنها را به صفحات چندرسانهای وب (Multi-media Web Pages) تبدیل میکنند. HTML ساختار یک صفحه وب را بهصورت معنایی توصیف میکند و در نسخههای اولیه، نشانههایی برای تعیین ظاهر صفحات نیز در آن گنجانده شده بود.
عناصر اچتیامال واحدهای سازنده صفحات اچتیامال هستند. با استفاده از ساختارهای متداول اچتیامال، تصاویر و سایر اشیاء مانند فرمهای تعاملی میتوانند در صفحه نمایش داده شده جاسازی شوند. اچتیامال ابزاری را برای ایجاد اسناد ساختاریافته با تعیین معنای ساختاری برای متنهایی مانند عناوین، پاراگرافها، لیستها، لینکها، نقلقولها و سایر موارد فراهم میکند. عناصر HTML توسط تگها مشخص میشوند که با استفاده از براکتهای زاویهدار نوشته میشوند. تگهایی مانند <img> و <input> مستقیماً محتوا را به صفحه وارد میکنند. تگهای دیگر مانند <p> و </p> متن سند را احاطه کرده و اطلاعاتی درباره آن ارائه میدهند و ممکن است شامل تگهای زیرعنصر باشند. مرورگرها تگهای HTML را نمایش نمیدهند، بلکه از آنها برای تفسیر محتوای صفحه استفاده میکنند.
عناصر اچتیامال، سنگبناهای اصلی صفحات وب هستند. با بهکارگیری ساختارهای پیشفرض اچتیامال، میتوان عناصری مانند تصاویر، فرمهای تعاملی و سایر اجزای چندرسانهای را در صفحات وب جای داد. اچتیامال ابزاری قدرتمند برای ایجاد اسناد سازمانیافته است که با تعریف معنای ساختاری برای بخشهای مختلف متن، مانند عنوانها، پاراگرافها، فهرستها، پیوندها، نقلقولها و موارد دیگر، به نظمبخشی محتوا کمک میکند. این عناصر توسط تگهایی مشخص میشوند که با براکتهای زاویهدار (< >) نوشته میشوند. برخی تگها مانند <img> و <input> بهطور مستقیم محتوا را به صفحه اضافه میکنند، در حالی که تگهایی مانند <p> و </p> متن را در بر گرفته و اطلاعاتی درباره آن ارائه میدهند و ممکن است شامل تگهای فرعی درون خودشان مانند <span> یا <b> باشند. مرورگرها تگهای اچتیامال را نمایش نمیدهند، بلکه از آنها برای تفسیر و نمایش صحیح محتوای صفحه (Render) استفاده میکنند.
اچتیامال میتواند برنامههای نوشتهشده به زبانهای اسکریپتی مانند جاوااسکریپت را جاسازی کند که بر رفتار و محتوای صفحات وب تأثیر میگذارند. استفاده از CSS ظاهر و چیدمان محتوا را تعریف میکند. کنسرسیوم جهانی وب (W3C)، که قبلاً مسئول نگهداری استانداردهای HTML بود و اکنون مسئول استانداردهای CSS است، از سال ۱۹۹۷ استفاده از CSS را به جای HTML نمایشی صریح تشویق کرده است.[۳] نوعی از HTML به نام HTML5 برای نمایش ویدیو و صدا استفاده میشود که عمدتاً از عنصر <canvas> همراه با جاوااسکریپت بهره میبرد.
اچتیامال این قابلیت را دارد که برنامههای نوشتهشده به زبانهای اسکریپتی مانند جاوااسکریپت را در خود جای دهد، که این برنامهها بر رفتار و محتوای صفحات وب تأثیر میگذارند. از سوی دیگر، با استفاده از سیاساس، ظاهر و چیدمان محتوا تعیین میشود. کنسرسیوم جهانی وب (W3C)، که پیشتر مسئول نگهداری استانداردهای اچتیامال بود و اکنون نگهدارنده استانداردهای سیاساس است، از سال ۱۹۹۷ استفاده از سیاساس را به جای اچتیامال نمایشی صریح توصیه کرده است.[۲] نسخهای از اچتیامال به نام اچتیامال 5 برای نمایش ویدیو و صدا بهکار میرود که عمدتاً از عنصر <canvas> در کنار جاوااسکریپت استفاده میکند.
تاریخچه
[ویرایش]توسعه
[ویرایش]
در سال ۱۹۸۰، تیم برنرز-لی، فیزیکدان و پیمانکار در سازمان اروپایی پژوهشهای هستهای (CERN)، سیستمی به نام ENQUIRE را طراحی و نمونهسازی کرد که به پژوهشگران سرن امکان میداد اسناد را به راحتی استفاده و به اشتراک بگذارند. در سال ۱۹۸۹، برنرز-لی پیشنهاد خود برای ایجاد یک سیستم ابرمتن مبتنی بر اینترنت را در قالب یک یادداشت ارائه کرد.[۳] او در اواخر سال ۱۹۹۰، زبان اچتیامال را خلق کرد و نرمافزارهای مربوط مرورگر و سرور را نوشت. در همان سال، برنرز-لی و رابرت کایو، مهندس سیستمهای دادهای سرن، برای جذب بودجهی پروژه همکاری کردند، اما این پروژه بهطور رسمی توسط سرن پذیرفته نشد. در یادداشتهای شخصی خود در سال ۱۹۹۰، برنرز-لی فهرستی از "حوزههای مختلفی که ابرمتن در آنها استفاده میشود" تهیه کرد که اولین مورد آن یک دانشنامه بود.[۴]
اولین توصیف عمومی از اچتیامال در سندی به نام "برچسبهای اچتیامال" منتشر شد،[۵] که در اواخر سال ۱۹۹۱ توسط تیم برنرز-لی در اینترنت معرفی گردید.[۶][۷] این سند ۱۸ عنصر اولیهی اچتیامال را شرح میداد که ساختار نسبتاً سادهای داشتند. بهجز تگ پیوند (hyperlink)، این عناصر به شدت تحت تأثیر سرناسجیامال، یک فرمت مستندات مبتنی بر زبان نشانهگذاری عمومی استاندارد در سرن، بودند. یازده مورد از این عناصر هنوز در اچتیامال 4 وجود دارند.[۸]
اچتیامال یک زبان نشانهگذاری است که مرورگرهای وب از آن برای تفسیر و ترکیب متن، تصاویر و سایر عناصر به صفحات وب قابل مشاهده یا شنیداری استفاده میکنند. ویژگیهای پیشفرض هر عنصر اچتیامال در مرورگر تعریف شدهاند، اما طراحان صفحات وب میتوانند با استفاده از سیاساس این ویژگیها را تغییر یا بهبود بخشند. بسیاری از عناصر متنی در گزارش فنی ایزو سال ۱۹۸۸ با عنوان TR 9537 (تکنیکهای استفاده از اسجیامال) ذکر شدهاند، که ویژگیهای زبانهای قالببندی متنی اولیه، مانند دستور RUNOFF (که در اوایل دهه ۱۹۶۰ برای سیستم اشتراک زمانی سازگار توسعه یافت)، را توصیف میکند. این دستورها قالببندی از روشهای دستی حروفچینها برای تنظیم اسناد الهام گرفتهاند. با این حال، مفهوم اسجیامال بر پایهی عناصر (محدودههای تو در تو با ویژگیهای مشخص) استوار است، نه صرفاً اثرات ظاهری چاپی، و ساختار و نشانهگذاری را از هم جدا میکند. اچتیامال بهتدریج با معرفی سیاساس به این رویکرد نزدیکتر شده است.
برنرز-لی اچتیامال را بهعنوان یک کاربرد از اسجیامال در نظر گرفت. این موضوع بهطور رسمی توسط کارگروه مهندسی اینترنت (IETF) در اواسط سال ۱۹۹۳ با انتشار اولین پیشنویس مشخصات اچتیامال تحت عنوان "زبان نشانهگذاری ابرمتن (اچتیامال)" تأیید شد. این پیشنویس توسط برنرز-لی و دن کانولی نوشته شده بود و شامل یک تعریف نوع سند اسجیامال برای تعریف نحو بود.[۹][۱۰] این پیشنویس پس از شش ماه منقضی شد، اما بهدلیل تأیید تگ سفارشی مرورگر NCSA Mosaic برای جاسازی تصاویر درونخطی، قابل توجه بود. این موضوع نشاندهندهی فلسفهی IETF در پایهگذاری استانداردها بر اساس نمونههای اولیه موفق بود. بهطور مشابه، پیشنویس رقیب دیو راگت با عنوان "اچتیامال+ (قالب نشانهگذاری ابرمتن)" در اواخر سال ۱۹۹۳، استانداردسازی ویژگیهایی مانند جداول و فرمهای پرکردنی را پیشنهاد کرد.[۱۱]
پس از انقضای پیشنویسهای اچتیامال و اچتیامال+ در اوایل سال ۱۹۹۴، IETF یک کارگروه اچتیامال ایجاد کرد. در سال ۱۹۹۵، این کارگروه "اچتیامال 2.0" را بهعنوان اولین نسخهی استاندارد اچتیامال منتشر کرد که قرار بود مبنایی برای پیادهسازیهای آینده باشد.[۱۲]
توسعهی بیشتر HTML تحت نظر IETF به دلیل اختلافنظرها و رقابتهای موجود متوقف شد. از سال ۱۹۹۶، کنسرسیوم جهانی وب (W3C) مسئولیت نگهداری و توسعهی مشخصات اچتیامال را با مشارکت شرکتهای نرمافزاری بر عهده گرفت.[۱۳] در سال ۲۰۰۰، اچتیامال به یک استاندارد بینالمللی (ISO/IEC 15445:2000) تبدیل شد. اچتیامال 4.01 در اواخر سال ۱۹۹۹ منتشر شد و اصلاحیههای آن تا سال ۲۰۰۱ ادامه یافت. در سال ۲۰۰۴، توسعهی اچتیامال5 در کارگروه تعیین فناوری کاربرد ابرمتن وب (WHATWG) آغاز شد. این پروژه در سال ۲۰۰۸ به یک تلاش مشترک بین کارگروه تعیین فناوری کاربرد ابرمتن وب و اتحادیه وب جهانگستر تبدیل شد و در نهایت در ۲۸ اکتبر ۲۰۱۴ بهعنوان یک استاندارد رسمی منتشر گردید.[۱۴]
خطزمانی نسخههای اچتیامال
[ویرایش]اچتیامال 2
[ویرایش]اچتیامال 3
[ویرایش]- 14ام ژانویه 1997
- اچتیامال 3.2[۱۵]به شکل توصیهنامهٔ کنسرسیوم وب جهانگستر انتشار یافت. نسخهٔ اول پیشرفت داده شد و استاندارد کردن آن به شکل انحصاری توسط W3C انجام شد به همین شکل IETF گروه کاری خود HTML را در سپتامبر ۱۹۹۶ کاملاً ارائه کرد.[۱۶]
- در ابتدا این فرمان را Wilbur نامید.[۱۷] اچتیامال 3.2 فرمولهای ریاضی را بهطور کامل به کار گرفت، که در آن همپوشانیهایی در اجزای مختلف پیشرفت کرده آن داشت و از مهمترین ابزارهای تصویری نتاسکیپ استفاده شده بود. عناصر مبهم نتاسکیپ و عناصر متحرک مایکروسافت مورد استفاده قرار نگرفت که دلیل آن توافق دو طرفه میان دو شرکت بود.[۱۸] ساختار ریاضی مورد استفاده مشابه با HTML بود ولی استاندارد کردن آن تا ۱۴ ماه پس از MathML انجام نگرفت.
اچتیامال 4
[ویرایش]- 18 دسامبر 1997
- اچتیامال 4.0[۱۹] توصیه W3C را ارائه کرد که در آن سه تفاوت عمده اعمال شده بود:
- مشکل کلی که در آن اجزای بد پنهان شده بودند.
- انتقالی که در آن اجزای بد اجازه داده شده بودند.
- قاب که در آن قاب با اجزای مختلف مرتبط اجازه داده شده بودند.
- درابتدا با کد نام "Cougar" نامگذاری شده بود،[۲۰] و 0.HTML4 از انواع اجزای خاص جستجوگر و ساختارهای مختلف استفاده کرده بود ولی در همان زمان مرحلهای در نظر گرفته شد که از ویژگیهای نشانهگذاری بصری Netscap را با مارک آنها به عنوان نفع شیوهنامهها توصیه نمیشود. HTML 4 یک برنامه SGML مطابق با ISO 8879 است.[۲۱]
- 24 آوریل 1998
- اچتیامال 4.0[۲۲] برخی تغییرات اندک را دوباره انجام داد بدون آنکه تعداد نسخهها را افزایش دهد.
- 24 دسامبر 1999
- اچتیامال 4.01[۲۳] به توصیهٔ W3C انتشار یافت. در آن سه تغییر کلی به شکل HTML4.0 در نظر گرفته شد[۲۴] آخرین غلط نامه در ۱۲ مه ۲۰۰۱ انتشار یافت.
- می 2000
- ISO/IEC ۱۵۴۴۵[۲۵] به عنوان استاندارد بینالمللی ISO/IEC انتشار یافت. در ایزو این استاندارد در حوزهٔ ISO/IEC JTC1/SC34 قرار گرفت.[۲۶][۲۵]
- پس از اچتیامال 4.01، برای سالها نسخهی جدیدی از اچتیامال منتشر نشد، زیرا تمرکز گروه کاری اچتیامال در کنسرسیوم جهانی وب (W3C) بر توسعهی اکساچتیامال، یک زبان مبتنی بر اکسامال، معطوف شده بود.
اچتیامال 5
[ویرایش]
خطزمانی پیشنویسهای اچتیامال
[ویرایش]- اکتبر 1991
- تگ های اچتیامال،[۳۵] سند غیررسمی سرن که شامل ۱۸ تگ HTML بود، برای اولین بار بهصورت عمومی مطرح شد.
- ژوئن 1992
- اولین پیشنویس غیررسمی از اچتیامال دیتیدی[۳۶] با هفت بازبینی بعدی (۱۵ ژوئیه، ۶ اوت، ۱۸ اوت، ۱۷ نوامبر، ۱۹ نوامبر، ۲۰ نوامبر، ۲۲ نوامبر)[۳۷][۳۸][۳۹]
- نوامبر 1992
- اچتیامال دیتیدی 1.1 (اولین نسخهای که شمارهی نسخه داشت، بر اساس بازبینیهای RCS که از ۱.۱ شروع میشد نه ۱.۰)، یک پیشنویس غیررسمی.[۳۹]
- ژوئن 1993
- سند زبان نشانهگذاری ابرمتن توسط گروه کاری IIIR IETF بهعنوان یک پیشنویس اینترنتی (پیشنهاد اولیه برای یک استاندارد) منتشر شد.[۴۰] این سند یک ماه بعد با نسخهی دوم جایگزین شد.[۴۱]
- نوامبر 1993
- اچتیامال+ توسط IETF بهعنوان یک پیشنویس اینترنتی منتشر شد و بهعنوان یک پیشنهاد رقیب برای پیشنویس HTML مطرح گردید. این پیشنویس در ژوئیه ۱۹۹۴ منقضی شد.[۴۲]
- نوامبر 1994
- اولین پیشنویس (بازبینی ۰۰) اچتیامال 2.0 توسط خود IETF منتشر شد (که از بازبینی ۰۲ بهعنوان "HTML 2.0" نامگذاری شد) و در نهایت به انتشار RFC 1866 در نوامبر ۱۹۹۵ منجر گردید.[۴۳]
- آوریل 1995 (مکتوب شده در مارس 1995)
- اچتیامال 3.0[۴۴] بهعنوان یک استاندارد به IETF پیشنهاد شد، اما این پیشنهاد پنج ماه بعد (۲۸ سپتامبر ۱۹۹۵) بدون اقدام بیشتر منقضی شد.[۴۵] این نسخه شامل بسیاری از قابلیتهای پیشنهادی دیو راگت در اچتیامال+ بود، مانند پشتیبانی از جداول، جریان متن حول تصاویر و نمایش فرمولهای پیچیدهی ریاضی.[۴۵]
- W3C توسعهی مرورگر Arena خود را بهعنوان یک بستر آزمایشی برای HTML 3 و شیوهنامههای آبشاری (CSS) آغاز کرد،,[۴۶][۴۷][۴۸] اما HTML 3.0 به دلایل مختلفی موفق نشد. پیشنویس آن بسیار حجیم (۱۵۰ صفحه) بود و سرعت توسعهی مرورگرها و تعداد طرفهای ذینفع از منابع IETF پیشی گرفته بود.[۴۹] فروشندگان مرورگرها، از جمله مایکروسافت و نتاسکیپ، زیرمجموعههای مختلفی از ویژگیهای پیشنویس HTML 3 را پیادهسازی کردند و همچنین افزونههای خود را به آن اضافه کردند.[۴۹] (به جنگ مرورگرها مراجعه کنید.) این افزونهها شامل کنترل جنبههای ظاهری اسناد بود، که برخلاف "باور جامعهی مهندسی آکادمیک بود که مواردی مانند رنگ متن، بافت پسزمینه، اندازه فونت و نوع فونت قطعاً خارج از محدودهی یک زبان هستند، زمانی که تنها هدف آنها مشخصکردن نحوهی سازماندهی سند بود."[۴۹] دیو راگت، که سالها عضو W3C بوده، در این باره گفته است: "تا حدی، مایکروسافت کسبوکار خود را بر اساس گسترش ویژگیهای HTML بنا کرد."[۴۹]
- ژانویه 2008
- اچتیامال5 بهعنوان یک پیشنویس کاری توسط W3C منتشر شد.[۵۰] اگرچه نحو آن بسیار شبیه به SGML است، HTML5 هرگونه تلاش برای یک برنامهی SGML بودن را کنار گذاشته و بهطور صریح سریالسازی "html" خود را تعریف کرده است، علاوه بر این، یک سریالسازی مبتنی بر XML به نام اکساچتیامال 5 نیز ارائه شده است.[۵۱]
- اچتیامال - اخرین فراخوانی 2011
- در ۱۴ فوریه ۲۰۱۱، W3C منشور گروه کاری HTML خود را با نقاط عطف مشخص برای HTML5 تمدید کرد. در مه ۲۰۱۱، این گروه کاری HTML5 را به مرحله "Last Call" ارتقا داد، که دعوتی از جامعههای داخل و خارج W3C برای تأیید صحت فنی مشخصات بود. W3C یک مجموعه آزمایش جامع توسعه داد تا تا سال ۲۰۱۴، که تاریخ هدف برای توصیه بود، به سازگاری گسترده برای مشخصات کامل دست یابد.[۵۲] در ژانویه ۲۰۱۱، WHATWG استاندارد زندهی "HTML5" خود را به "HTML" تغییر نام داد. با این حال، W3C به کار خود برای انتشار HTML5 ادامه داد.[۵۳]
- اچتیامال - نامزدی برای پیشنهادی
- در ژوئیه ۲۰۱۲، WHATWG و W3C تصمیم گرفتند تا حدی از هم جدا شوند. W3C به کار روی مشخصات HTML5 ادامه داد و بر روی یک استاندارد قطعی واحد تمرکز کرد، که توسط WHATWG بهعنوان یک "عکسفوری" در نظر گرفته میشد. سازمان WHATWG به کار خود با HTML5 بهعنوان یک "استاندارد زنده" ادامه داد. مفهوم استاندارد زنده این است که هرگز کامل نمیشود و همیشه در حال بهروزرسانی و بهبود است. ویژگیهای جدید میتوانند اضافه شوند، اما عملکردهای موجود حذف نخواهند شد.[۵۴] در دسامبر ۲۰۱۲، W3C HTML5 را بهعنوان Candidate Recommendation تعیین کرد.[۵۵] معیار پیشرفت به توصیه W3C، "دو پیادهسازی ۱۰۰٪ کامل و کاملاً سازگار" بود.[۵۶]
- اچتیامال 5 – پیشنهاد و توصیه پیشنهادی 2014
- در سپتامبر ۲۰۱۴، W3C HTML5 را به Proposed Recommendation ارتقا داد.[۵۷] در ۲۸ اکتبر ۲۰۱۴، HTML5 بهعنوان یک توصیه پایدار W3C منتشر شد،[۵۸] که به این معنی بود که فرآیند مشخصات کامل شده است.
نسخههای اکساچتیامال
[ویرایش]اکساچتیامال یک زبان جداگانه است که به شکل فرمولبندی دوبارهٔ HTML 4.01 خود را نشان میدهد و از XML1.0 استفاده نموده است. اما بهعنوان یک استاندارد جداگانه نمیتوان از آن نام برد.[۵۹]
- اکساچتیامال 1.0 در ۲۶ ژانویهٔ ۲۰۰۰ انتشار یافت[۶۰] که به عنوان توصیهٔ W3C از آن نام برده شد و پس از آن دوباره اصلاح شد و انتشار دوبارهٔ آن در ۱ اوت ۲۰۰۲ بود که در آن از سه نسخهٔ یکسان به عنوان HTML 4.0 و ۴٫۰۱ استفاده شد و فرمولبندی دوبارهٔ آن در XML با محدودیتهای خاص در نظر گرفته شد.
- اکساچتیامال 1.1 در ۳۱ مه ۲۰۰۱ انتشار یافت که توصیهٔ W3C محسوب شد. مبنای آن XHTML 1.0 بود ولی تغییرات اندکی در آن اعمال شده بود و فرمولبندی آن از ساختارهای تعدیل شده اکساچتیامال استفاده کرده بود که در ۱۰ آوریل ۲۰۰۱ انتشار یافته بود و توصیه W3C محسوب میگردید.[۶۱][۶۲]
- اکساچتیامال 2.0 یک نسخهٔ پیشنویس کاری بود ولی در ۲۰۰۹ انتشار یافت که برای کارکرد مطلوب HTML5, اکساچتیامال 5 بود. اکساچتیامال 2.0 ناسازگاریهایی با اکساچتیامال 1.X داشت و در نتیجه به شکل زبان جدید اکساچتیامال درآمد تا اینکه به روزرسانی آن تا اکساچتیامال 1.X صورت گیرد.[۶۳][۶۴][۶۵]
- اکساچتیامال سینتکس را میتوان به عنوان اکساچتیامال 5.1 دانست که بر اساس آن HTML5 در پیشنویس HTML5 تعریف شده بود.
نشانهگذاری
[ویرایش]
نمونهٔ زیر، کد معروف Hello World است که معمولاً برای مقایسه زبانهای برنامهنویسی، زبانهای اسکریپتنویسی و زبانهای نشانهگذاری به کار میرود: