پرش به محتوای اصلی

قالب‌های فایل

HTML چیست؟ تاریخچه، تجزیه و DOM

HTML زبان نشانه‌گذاری‌ای است که ساختار صفحه‌های وب را توصیف می‌کند و زیربنای تقریباً همهٔ وب‌سایت‌هاست. تاریخچه، نحوهٔ پردازش آن در مرورگر و نکته‌های تبدیل HTML به سند را بررسی می‌کنیم.

نویسنده: Hemen Dönüştür Editör Ekibiتاریخ انتشار: 8 دقیقه مطالعه

نشان فایل با برچسب HTML و نماد براکت زاویه‌دار

تقریباً هر چیزی که در وب می‌بینید، از جمله همین صفحه، با HTML نوشته شده است. HTML (HyperText Markup Language) زبان برنامه‌نویسی نیست، بلکه زبان نشانه‌گذاری‌ای است که ساختار سند را توصیف می‌کند: این یک عنوان است، این یک پاراگراف، این یک پیوند، این یک جدول. HTML فقط مخصوص وب‌سایت‌ها هم نیست. در قالب‌های ایمیل، مستندات راهنما، گزارش‌های خروجی و اسنادی که «به‌صورت صفحهٔ وب ذخیره شده‌اند» هم دیده می‌شود. این مقاله تاریخچهٔ HTML، اینکه مرورگر چگونه آن را می‌خواند و روی صفحه رسم می‌کند، مشکلات رایج و نکته‌های تبدیل فایل‌های HTML به Word یا PDF را بررسی می‌کند.

HTML چیست؟

HTML زبانی متنی است که محتوا را با تگ‌ها نشانه‌گذاری می‌کند. تگ‌ها میان براکت‌های زاویه‌دار نوشته می‌شوند و بیشترشان با یک تگ آغازین و یک تگ پایانی، یک عنصر را می‌سازند:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Sample page</title>
  </head>
  <body>
    <h1>Hello</h1>
    <p>This paragraph contains a <a href="https://example.com">link</a>.</p>
  </body>
</html>

بخش <head> اطلاعاتی دربارهٔ صفحه (رمزگذاری نویسه، عنوان، شیوه‌نامه‌ها) دارد و <body> محتوای قابل‌مشاهده را نگه می‌دارد. ظاهر با CSS و رفتار با JavaScript اضافه می‌شود. در این تقسیم کار، HTML می‌گوید محتوا چیست، CSS می‌گوید چه شکلی دارد و JavaScript می‌گوید چه کاری انجام می‌دهد.

تاریخچهٔ کوتاه

HTML بخشی از پروژهٔ وب جهان‌گستر (World Wide Web) بود که تیم برنرز لی (Tim Berners-Lee) در سال 1989 در CERN پیشنهاد کرد. نخستین مرورگر او در سال 1990 روی یک کامپیوتر NeXT اجرا شد. نخستین نسخه‌های این زبان بیشتر فهرستی از تگ‌های مستندشده در CERN بودند تا یک استاندارد رسمی. مهم‌ترین نقاط عطف از آن زمان:

  • نوامبر 1995، HTML 2.0: سند RFC 1866 به قلم تیم برنرز لی و دن کانولی (Dan Connolly) برای نخستین بار HTML را به‌عنوان یک استاندارد رسمی تعریف کرد.
  • ژانویهٔ 1997، HTML 3.2: نسخه‌ای که W3C رسماً به‌عنوان مشخصه‌ای فراگیر در صنعت تأیید کرد.
  • 24 دسامبر 1999، HTML 4.01: سال‌ها مشخصهٔ اصلی وب باقی ماند؛ W3C در 27 مارس 2018 رسماً آن را منسوخ‌شده (superseded) اعلام کرد.
  • 28 اکتبر 2014، HTML5: W3C نسخهٔ HTML5 را به‌عنوان Recommendation منتشر کرد. ویدیو، صدا، عناصر معنایی بخش‌بندی و یک الگوریتم تجزیهٔ دقیق همراه آن استاندارد شدند.
  • 28 مه 2019، یک استاندارد واحد: W3C و WHATWG، جامعه‌ای که سازندگان مرورگرها تشکیل داده‌اند، تفاهم‌نامه‌ای امضا کردند. بر اساس آن، HTML و DOM عمدتاً در WHATWG و به صورت یک «Living Standard» بدون شمارهٔ نسخه توسعه می‌یابند.

بنابراین «HTML5» امروز در عمل به معنای «HTML فعلی» است؛ مشخصهٔ رسمی، HTML Living Standard است که پیوسته به‌روز می‌شود.

چقدر رایج است؟ طبق آمار W3Techs در 15 اکتبر 2026، 97.8% از وب‌سایت‌هایی که زبان نشانه‌گذاری‌شان مشخص است از HTML استفاده می‌کنند. همین منبع گزارش می‌دهد که 99.1% از وب‌سایت‌هایی که رمزگذاری نویسه‌شان مشخص است UTF-8 را به کار می‌برند.

مرورگر HTML را چگونه پردازش می‌کند؟

آنچه HTML را از دیگر فرمت‌های سند متمایز می‌کند این است که حتی اسنادی که بد نوشته شده‌اند هم در همهٔ مرورگرها به یک شکل تفسیر می‌شوند. HTML Living Standard برای این کار یک مدل تجزیهٔ مفصل تعریف می‌کند:

  1. تعیین رمزگذاری: مرورگر ابتدا باید بایت‌های دریافتی را به نویسه تبدیل کند. به ترتیب BOM، رمزگذاری اعلام‌شده در سرآیند HTTP سرور و اعلان <meta charset> در 1024 بایت نخست سند را بررسی می‌کند؛ اگر هیچ‌کدام پیدا نشود، حدسی سنجیده می‌زند.
  2. توکن‌سازی: یک ماشین حالت متن را به توکن‌هایی مانند تگ آغازین، تگ پایانی، توضیح (comment)، DOCTYPE و نویسه تقسیم می‌کند.
  3. ساخت درخت: توکن‌ها بر اساس حالت‌های درج (insertion mode) مانند «in body» یا «in table» پردازش می‌شوند. تجزیه‌گر پشته‌ای از عناصر باز نگه می‌دارد و تگ‌هایی را که نادرست تودرتو شده‌اند طبق قواعد تعریف‌شده اصلاح می‌کند.
  4. DOM: نتیجه درختی از اشیا به نام Document Object Model (DOM) است. CSS روی این درخت اعمال می‌شود و JavaScript آن را می‌خواند و تغییر می‌دهد.

مشخصه صریحاً می‌گوید که نحوهٔ برخورد با خطاهای تجزیه به‌خوبی تعریف شده است. برای نمونه اگر <div/> بنویسید، HTML اسلش پایانی را نادیده می‌گیرد و عناصر بعدی درون همان div قرار می‌گیرند. یک <p> بسته‌نشده با رسیدن عنصر بلوکی بعدی خودکار بسته می‌شود. همین انعطاف است که وب را با وجود صفحه‌های ناقص بی‌شمار سرپا نگه می‌دارد، اما معنایش این هم هست که هر ابزاری که HTML را به یک فرمت سند تبدیل می‌کند باید از همین قواعد پیروی کند.

HTML کجا به کار می‌رود؟

  • وب‌سایت‌ها و برنامه‌های وب: اسکلت هر صفحهٔ وب.
  • ایمیل: ایمیل‌های قالب‌بندی‌شده و خبرنامه‌ها با HTML نوشته می‌شوند.
  • مستندات: صفحه‌های راهنما، مستندات نرم‌افزار و سایت‌هایی که از Markdown ساخته می‌شوند.
  • کتاب الکترونیکی: فرمت EPUB محتوا را به صورت اسناد XHTML بسته‌بندی می‌کند.
  • گزارش و خروجی: بسیاری از برنامه‌ها گزارش را به صورت HTML تولید می‌کنند و خروجی «Save as Web Page» در Word هم HTML است.

نقاط قوت و ضعف

نقاط قوتنقاط ضعف
روی هر دستگاهی در مرورگر باز می‌شودظاهر به CSS، قلم‌ها و تصاویر بیرونی وابسته است
استانداردی باز، رایگان و پیوسته به‌روزدر مفاهیم چاپی مانند صفحه و حاشیه ضعیف است
چیدمان روان که با اندازهٔ صفحه سازگار می‌شودجابه‌جایی آن به صورت یک فایل واحد دشوار است (تصاویر در فایل‌های جدا هستند)
ساختار معنایی برای دسترس‌پذیری و موتورهای جست‌وجواگر JavaScript داشته باشد باید با احتیاط با آن برخورد کرد
متن ساده است و با کنترل نسخه به‌خوبی کار می‌کندبرای ثابت کردن نسخهٔ نهایی به اندازهٔ PDF مناسب نیست

چه برنامه‌هایی HTML را باز می‌کنند؟

همهٔ مرورگرها، از جمله Chrome، Firefox، Safari و Edge، HTML را نمایش می‌دهند. برای ویرایش کد منبع، یک ویرایشگر کد مانند Visual Studio Code یا هر ویرایشگر متنی کافی است. Microsoft Word و LibreOffice Writer می‌توانند فایل‌های HTML را باز کنند و آن‌ها را مثل سند ویرایش کنند، هرچند چیدمان‌های پیچیدهٔ CSS در آنجا ساده می‌شوند.

مشکلات رایج و راه‌حل آن‌ها

نویسه‌های خاص به‌هم‌ریخته دیده می‌شوند

رمزگذاری صفحه اعلام نشده یا اشتباه است. <meta charset="utf-8"> را نزدیک ابتدای <head> اضافه کنید و مطمئن شوید فایل واقعاً با UTF-8 ذخیره شده است. اگر سرور رمزگذاری دیگری اعلام می‌کند، سرآیند HTTP را هم اصلاح کنید.

صفحهٔ ذخیره‌شده تصویر یا سبک ندارد

فایل‌های HTML اغلب تصاویر و CSS را از فایل‌های جداگانه یا نشانی‌هایی در اینترنت می‌گیرند. اگر فقط فایل .html را جابه‌جا کنید، این پیوندها می‌شکنند. از گزینهٔ ذخیرهٔ «Web page, complete» در مرورگر استفاده کنید یا تصاویر را در خود سند جاسازی کنید.

صفحه هنگام چاپ به هم می‌ریزد

چیدمان‌هایی که برای صفحه‌نمایش طراحی شده‌اند ممکن است روی کاغذ جا نشوند. تعریف قواعد @media print و تعیین اندازهٔ کاغذ و حاشیه‌ها با @page در CSS خروجی چاپی را بسیار بهتر می‌کند.

نکته‌هایی برای تبدیل فایل‌های HTML

در مبدل ما، فایل‌های HTML روی سرور ما آپلود می‌شوند و ظرف 30 دقیقه حذف می‌شوند. هنگام خواندن فایل، رمزگذاری به ترتیب از BOM، سپس از اعلان <meta charset> و سپس از خود محتوا تشخیص داده می‌شود؛ صفحه‌های قدیمی ترکی که UTF-8 نیستند با Windows-1254 خوانده می‌شوند. محتوای <body> سند و بلوک <style> صفحه حفظ می‌شوند و تکه‌های HTML بدون تگ <body> همان‌طور که هستند پردازش می‌شوند.

  • تبدیل HTML به PDF در یک موتور مرورگر اجرا می‌شود: CSS چاپی اعمال می‌شود، اندازهٔ صفحه‌ای که با @page تعریف شده رعایت می‌شود (وگرنه A4) و رنگ‌های پس‌زمینه چاپ می‌شوند. برای امنیت، JavaScript اجرا نمی‌شود و تصاویر، قلم‌ها یا شیوه‌نامه‌های موجود در اینترنت دانلود نمی‌شوند؛ فقط منابعی که در خود سند جاسازی شده‌اند (data: URI) به کار می‌روند. اگر تصاویر را در خروجی می‌خواهید، آن‌ها را در HTML جاسازی کنید.
  • تبدیل HTML به Word با LibreOffice عنوان‌ها، فهرست‌ها، جدول‌ها، ترازبندی و تصاویر جاسازی‌شده را به DOCX منتقل می‌کند. چیدمان‌های پیچیدهٔ CSS (flex، grid) معادلی در Word ندارند و ساده می‌شوند.
  • تبدیل HTML به Markdown برای انتقال یک صفحهٔ وب یا مقالهٔ راهنما به مخزن مستندات ایده‌آل است: عنوان‌ها، تأکیدها، فهرست‌ها، جدول‌ها، پیوندها و بلوک‌های کد حفظ می‌شوند و اطلاعات سبک کنار گذاشته می‌شود.
  • در جهت عکس، تبدیل Word به HTML تصاویر را درون فایل جاسازی می‌کند و یک سند HTML واحد و خودبسنده با رمزگذاری اعلام‌شده تولید می‌کند تا حروف دارای علامت و غیرلاتین در مرورگر درست نمایش داده شوند.

پرسش‌های متداول

آیا HTML یک زبان برنامه‌نویسی است؟

نه. HTML زبان نشانه‌گذاری است: ساختار محتوا را توصیف می‌کند، اما حلقه، شرط یا محاسبه ندارد. برای افزودن رفتار به صفحه از JavaScript استفاده می‌شود.

تفاوت HTML5 و HTML چیست؟

HTML5 نام نسخهٔ اصلی‌ای است که در سال 2014 به Recommendation در W3C تبدیل شد. از 2019، HTML بدون شمارهٔ نسخه و با عنوان «HTML Living Standard» در WHATWG توسعه می‌یابد. در عمل، HTML5 و HTML امروز یک معنا دارند.

چطور یک فایل HTML را باز کنم؟

روی آن دوبار کلیک کنید تا در مرورگر پیش‌فرض‌تان باز شود. برای دیدن کد منبع، فایل را در یک ویرایشگر متن باز کنید یا از گزینهٔ «View page source» مرورگر استفاده کنید.

چرا وقتی HTML را به PDF تبدیل می‌کنم تصاویر نیستند؟

اگر تصاویر از یک نشانی اینترنتی بارگذاری می‌شوند، مبدل ما به دلایل امنیتی آن‌ها را دانلود نمی‌کند. تصاویر را به صورت data: URI در HTML جاسازی کنید یا ابتدا سند را به Word تبدیل کنید و تصاویر را آنجا اضافه کنید.

آیا باز کردن فایل HTML امن است؟

HTML می‌تواند JavaScript داشته باشد، پس با فایل‌هایی از منابع ناشناس محتاط باشید. صفحه‌های HTML که به صورت پیوست ایمیل می‌رسند و گذرواژه می‌خواهند، یکی از ترفندهای رایج فیشینگ هستند.

منابع

مبدل‌های مرتبط

همه مقاله‌ها