HTML

HTML (viết tắt của từ Hyper Text Markup Language , hay còn gọi là "Ngôn ngữ Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web trên World Wide Web. Nó có thể được trợ giúp bởi các công nghệ như CSS và các ngôn ngữ kịch bản giống như JavaScript.

Các trình duyệt web nhận tài liệu HTML từ một web server hoặc một kho lưu trữ cục bộ và render tài liệu đó thành các trang web đa phương tiện. HTML mô tả cấu trúc của một trang web về mặt ngữ nghĩa và các dấu hiệu ban đầu được bao gồm cho sự xuất hiện của tài liệu.

Các phần tử HTML là các khối xây dựng của các trang HTML. Với cấu trúc HTML, hình ảnh và các đối tượng khác như biểu mẫu tương tác có thể được nhúng vào trang được hiển thị. HTML cung cấp một phương tiện để tạo tài liệu có cấu trúc bằng cách biểu thị ngữ nghĩa cấu trúc cho văn bản như headings, paragraphs, lists, links, quotes và các mục khác. Các phần tử HTML được phân định bằng các "thẻ", được viết bằng dấu ngoặc nhọn. Các thẻ như và giới thiệu trực tiếp nội dung vào trang. Các thẻ khác như bao quanh và cung cấp thông tin về văn bản tài liệu và có thể bao gồm các thẻ khác làm phần tử phụ. Các trình duyệt không hiển thị các thẻ HTML, nhưng sử dụng chúng để diễn tả nội dung của trang.

HTML có thể nhúng các chương trình được viết bằng scripting như JavaScript, điều này ảnh hưởng đến hành vi và nội dung của các trang web. Việc bao gồm CSS xác định giao diện và bố cục của nội dung. World Wide Web Consortium (W3C), trước đây là đơn vị bảo trì HTML và là người duy trì hiện tại của các tiêu chuẩn CSS, đã khuyến khích việc sử dụng CSS trên HTML trình bày rõ ràng 

==Lịch sử==
===Phát triển===
Năm 1980, nhà khoa học máy tính Tim Berners-Lee, một nhà thầu tại CERN, đã đề xuất và tạo mẫu ENQUIRE, một hệ thống cho các nhà nghiên cứu CERN sử dụng và chia sẻ tài liệu. Năm 1989, Berners-Lee đã viết một bản ghi nhớ đề xuất một hệ thống siêu văn bản dựa trên Internet. Berners-Lee xác định rõ HTML và viết phần mềm trình duyệt và máy chủ vào cuối năm 1990. Năm đó, Berners-Lee và kỹ sư hệ thống dữ liệu CERN Robert Cailliau đã hợp tác để cùng yêu cầu tài trợ, nhưng dự án không được CERN chính thức thông qua. Trong ghi chú cá nhân của mình từ năm 1990, ông đã liệt kê "một số trong nhiều lĩnh vực mà siêu văn bản được sử dụng" và đặt một cuốn bách khoa toàn thư lên hàng đầu

Mô tả HTML công khai đầu tiên là một tài liệu có tên "HTML Tags", lần đầu tiên được đề cập trên Internet bởi Tim Berners-Lee vào cuối năm 1991. Nó mô tả 18 phần tử bao gồm thiết kế ban đầu, tương đối đơn giản của HTML. Ngoại trừ thẻ siêu liên kết, chúng bị ảnh hưởng mạnh bởi SGMLguid, một định dạng tài liệu dựa trên Standard Generalized Markup Language (SGML) tại CERN. Mười một trong số các phần tử này vẫn tồn tại trong HTML 4.

HTML là một ngôn ngữ đánh dấu mà các trình duyệt web sử dụng để giải thích và soạn văn bản, hình ảnh và các tài liệu khác thành các trang web trực quan hoặc nghe được. Các đặc điểm mặc định cho mọi mục của đánh dấu HTML được xác định trong trình duyệt và các đặc điểm này có thể được thay đổi hoặc nâng cao bằng cách sử dụng thêm CSS của nhà thiết kế trang web. Nhiều thành phần văn bản được tìm thấy trong báo cáo kỹ thuật 1988 ISO TR 9537 "Techniques for using SGML", lần lượt đề cập đến các tính năng của các ngôn ngữ định dạng văn bản ban đầu, chẳng hạn như được sử dụng bởi lệnh RUNOFF được phát triển vào đầu những năm 1960 cho hệ điều hành CTSS (Compatible Time-Sharing System): các lệnh định dạng này bắt nguồn từ các lệnh được sử dụng bởi các bộ sắp chữ để định dạng tài liệu theo cách thủ công. Tuy nhiên, khái niệm SGML về đánh dấu tổng quát dựa trên các phần tử (các phạm vi được chú thích lồng nhau với các thuộc tính) chứ không chỉ đơn thuần là các hiệu ứng in, với sự phân tách của cấu trúc và đánh dấu, HTML đã được chuyển dần theo hướng này với CSS.

Berners-Lee xem xét HTML là một ứng dụng của SGML. Nó chính thức được định nghĩa như vậy bởi Internet Engineering Task Force (IETF) với việc xuất bản vào giữa năm 1993 về đề xuất đầu tiên cho một đặc tả HTML, Bản thảo trên Internet "Hypertext Markup Language (HTML)" của Berners-Lee và Dan Connolly, bao gồm định nghĩa kiểu SGML Document type definition để xác định ngữ pháp. Bản dự thảo hết hạn sau sáu tháng, nhưng đáng chú ý vì nó đã thừa nhận thẻ tùy chỉnh của trình duyệt NCSA Mosaic để nhúng hình ảnh trong dòng, phản ánh triết lý của IETF về việc dựa trên các tiêu chuẩn trên các nguyên mẫu thành công. Tương tự, Bản thảo Internet cạnh tranh của Dave Raggett, "HTML+ (Hypertext Markup Format)", ừ cuối năm 1993, đề xuất tiêu chuẩn hóa các tính năng đã được triển khai như bảng và biểu mẫu điền vào.

Sau khi các bản thảo HTML và HTML+ hết hạn vào đầu năm 1994, IETF đã tạo một HTML Working Group, nhóm này vào năm 1995 đã hoàn thành "HTML 2.0", đặc tả HTML đầu tiên dự định sẽ được coi là tiêu chuẩn dựa trên việc triển khai trong tương lai.

Sự phát triển hơn nữa dưới sự bảo trợ của IETF đã bị đình trệ bởi các lợi ích cạnh tranh. các đặc tả ký thuật HTML đã được duy trì, với đầu vào từ các nhà cung cấp phần mềm thương mại, bởi World Wide Web Consortium (W3C). Tuy nhiên, vào năm 2000, HTML cũng đã trở thành tiêu chuẩn quốc tế (ISO/IEC 15445:2000). HTML 4.01 được xuất bản vào cuối năm 1999, với các bản tiếp theo được xuất bản đến năm 2001. Năm 2004, sự phát triển bắt đầu trên HTML5 trong Web Hypertext Application Technology Working Group (WHATWG), nhóm này đã trở thành một nhóm có thể phân phối chung với W3C vào năm 2008, và được hoàn thiện và chuẩn hóa trên Ngày 28 tháng 10 năm 2014.

===Dòng thời gian các phiên bản HTML===
HTML 1

HTML 1 được tạo ra bởi Sir Tim Berners-Lee năm 1993. Phiên bản này đã thiết lập một cơ sở cho việc tạo ra các trang web tĩnh đơn giản bằng cách sử dụng các thẻ đánh dấu để định dạng văn bản và tạo liên kết giữa các trang. Một số thẻ cơ bản đã được giới thiệu trong HTML 1 bao gồm codice_1, codice_2, codice_3, codice_4, và codice_5 để tạo liên kết.

Mặc dù HTML 1 rất đơn giản và hạn chế so với các phiên bản sau này, nhưng nó đã đóng một vai trò quan trọng trong việc khởi đầu sự phát triển của World Wide Web. Nó cho phép người sáng tạo tạo ra những trang web đầu tiên để chia sẻ thông tin và tạo liên kết trên Internet. Các trình duyệt đầu tiên như NCSA Mosaic và Lynx đã hỗ trợ HTML 1, mở cửa sổ cho việc trình bày thông tin trực tuyến.

HTML 1 là bước đầu tiên và quan trọng trong hành trình phát triển HTML và web, và nó đã có một tầm ảnh hưởng to lớn đối với sự phát triển của Internet như chúng ta biết ngày nay.

===Dòng thời gian các bản dự thảo HTML===
- Tháng 10 năm 1991: "HTML Tags", một tài liệu CERN không chính thức liệt kê 18 thẻ HTML, lần đầu tiên được đề cập trước công chúng.
- Tháng 6 năm 1992: Dự thảo không chính thức đầu tiên của HTML DTD, với bảy lần sửa đổi tiếp theo (15 tháng 7, 6 tháng 8, 18 tháng 8, 17 tháng 11, 19 tháng 11, 20 tháng 11, 22 tháng 11)
- Tháng 11 năm 1992: HTML DTD 1.1 bản đầu tiên có số phiên bản, dựa trên các bản sửa đổi RCS, bắt đầu bằng 1.1 thay vì 1.0), một dự thảo không chính thức
- Tháng 6 năm 1993: Hypertext Markup Language được phát hành bởi IETF IIIR Working Group như một Dự thảo Internet (một đề xuất thô cho một tiêu chuẩn). Nó đã được thay thế bằng một phiên bản thứ hai một tháng sau đó.
- Tháng 11 năm 1993: HTML+ được phát hành bởi IETF như một Dự thảo Internet và là một đề xuất cạnh tranh với dự thảo Hypertext Markup Language. Nó hết hạn vào tháng 7 năm 1994.
- Tháng 11 năm 1994: Dự thảo đầu tiên (revision 00) của HTML 2.0 phát hành bởi IETF (được gọi là "HTML 2.0" từ revision 02), cuối cùng dẫn đến việc xuất bản vào tháng 11 năm 1995.
- Tháng 4 năm 1995 (tác giả tháng 3 năm 1995): HTML 3.0 đã được đề xuất như một tiêu chuẩn cho IETF, nhưng đề xuất này đã hết hạn sau năm tháng (28 tháng 9 năm 1995) mà không có thêm hành động nào. Nó bao gồm nhiều khả năng có trong đề xuất HTML+ của Raggett, chẳng hạn như hỗ trợ các bảng, dòng văn bản xung quanh các số liệu và hiển thị các công thức toán học phức tạp.

- Tháng 1 năm 2008: HTML5 được giới thiệu như một Working Draft bởi W3C.
- <nowiki>2011: </nowiki> HTML5 – Last Call
- <nowiki>2012: </nowiki> HTML5 – Candidate Recommendation
- <nowiki>2014: </nowiki> HTML5 – Proposed Recommendation and Recommendation
====Đánh dấu====
Có bốn loại phần tử đánh dấu trong HTML:
- Đánh dấu "Có cấu trúc" miêu tả mục đích của phần văn bản
- Đánh dấu "trình bày" miêu tả phần hiện hình trực quan của phần văn bản bất kể chức năng của nó là gì (ví dụ, sẽ hiển thị đoạn văn bản boldface) (Chú ý là cách dùng đánh dấu trình bày này bây giờ không còn được khuyên dùng mà nó được thay thế bằng cách dùng CSS),
- Đánh dấu "liên kết ngoài" chứa phần liên kết từ trang này đến trang kia (ví dụ, sẽ hiển thị từ Wikipedia như là một liên kết ngoài đến một URL) cụ thể, và
- Các phần tử "thành phần điều khiển" giúp tạo ra các đối tượng (ví dụ, các nút và các danh sách).
== Tách phần trình bày và nội dung ==
Nỗ lực tách phần nội dung ra khỏi phần hình thức trình bày của trang HTML đã đưa đến sự xuất hiện của các chuẩn mới như XHTML. Các chuẩn này nhấn mạnh vào việc sử dụng thẻ đánh dấu vào việc xác định cấu trúc tài liệu như phần đề mục, đoạn văn, khối văn bản trích dẫn và các bảng, chứ không khuyên dùng các thẻ đánh dấu mang tính chất trình bày trực quan, như codice_6, codice_7 (in đậm), và codice_8 (in nghiêng). Những mã mang tính chất trình bày đó đã được loại bỏ khỏi HTML 4.01 Strict và các đặc tả XHTML nhằm tạo điều kiện cho CSS. CSS cung cấp một giải pháp giúp tách cấu trúc HTML ra khỏi phần trình bày của nội dung của nó. Xem phần tách nội dung và trình bày.

== Cấu trúc trang HTML ==
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
</body>
</html>
== Xem thêm ==
- C-HTML
- DHTML
- Mã hóa trong HTML
- Màu sắc trên Web
- Nội dung không có trở ngại
- Phần tử HTML
- Phần tử khối
- Script trong HTML
- Tim Berners-Lee
- Trình biên tập HTML
- Unicode và HTML
- XHTML
- XML
== Liên kết ngoài ==
- Đặc tả ngôn ngữ HTML 4.01 Tiếng Anh
- ASCII - ISO 8859-1 Table with HTML Entity Names
- W3C's HTML Validator
- HTML/XHTML Validator Project on SourceForge
- HTML Tag Reference and Tutorials
- HTML Discussion Forum
- The Importance of HTML Validation
- Programming:HTML - Wikibooks
- HTML+ Discussion Document (obsolete)
- NCSA's Beginner's Guide to HTML