HTML là gì. Lịch sử sáng tạo. Ngôn ngữ HTML. Lịch sử phát triển

Lịch sử phát triển HTML

Năm 1989, Tim Berners-Lee đề xuất với lãnh đạo Trung tâm Năng lượng Cao Quốc tế (CERN) một dự án về hệ thống siêu văn bản phân tán mà ông gọi là World Wide Web (WWW). Ý tưởng ban đầu của hệ thống là sử dụng hệ thống điều hướng siêu văn bản để kết hợp tất cả nhiều nguồn thông tin của CERN vào một hệ thống thông tin duy nhất. Công nghệ này thành công đến mức tạo động lực cho sự phát triển của một trong những hệ thống thông tin toàn cầu phổ biến nhất trên thế giới. Hầu như trong suy nghĩ của hầu hết người dùng mạng máy tính toàn cầu Internet, bản thân mạng này gắn liền với ba công nghệ thông tin chính:

· thư điện tử (e-mail);

· Lưu trữ tập tin FTP;

· Mạng toàn cầu.

Hơn nữa, công nghệ mới nhất đang dần tiến lên vị trí đầu tiên.

Sự thành công của công nghệ World Wide Web được quyết định bởi hai yếu tố chính: tính đơn giản và việc sử dụng họ giao thức liên mạng TCP/IP (Giao thức điều khiển truyền dẫn, Giao thức Internet), là nền tảng của Internet.

Hầu như tất cả người dùng Internet đồng thời có cơ hội thử sức mình với tư cách là người sáng tạo và đọc các tài liệu thông tin được xuất bản trên World Wide Web. Nhưng sự phổ biến của Internet phần lớn là do sự xuất hiện của World Wide Web, vì đây là công nghệ mạng đầu tiên cung cấp cho người dùng giao diện đơn giản, hiện đại để truy cập nhiều loại tài nguyên mạng. Sự đơn giản và dễ sử dụng đã dẫn đến sự gia tăng số lượng người dùng WWW và thu hút sự chú ý của các công trình thương mại. Sau đó, quá trình tăng số lượng người dùng trở thành một trận tuyết lở và điều này vẫn tiếp tục cho đến ngày nay.

Đồng thời, bản thân công nghệ này ở giai đoạn đầu cực kỳ đơn giản. Thực tế là khi phát triển các thành phần khác nhau của công nghệ (ngôn ngữ đánh dấu siêu văn bản HTML, giao thức trao đổi thông tin siêu văn bản HTTP, thông số kỹ thuật phát triển phần mềm ứng dụng CGI, v.v.), người ta cho rằng trình độ chuyên môn của tác giả tài nguyên thông tin và thiết bị máy tính của họ sẽ được tối thiểu.

Một trong những thành phần của công nghệ tạo hệ thống siêu văn bản phân tán trên World Wide Web là ngôn ngữ đánh dấu siêu văn bản HTML, được phát triển bởi Tim Berners-Lee dựa trên ngôn ngữ đánh dấu tổng quát tiêu chuẩn (SGML). Daniel W. Connolly đã viết Định nghĩa loại tài liệu cho nó - mô tả chính thức về cú pháp HTML theo thuật ngữ SGML.

Các nhà phát triển HTML đã có thể giải quyết hai vấn đề:

· cung cấp cho người thiết kế cơ sở dữ liệu siêu văn bản một phương tiện đơn giản để tạo tài liệu;

· làm cho công cụ này đủ mạnh để phản ánh những ý tưởng hiện có về giao diện người dùng của cơ sở dữ liệu siêu văn bản.

Vấn đề đầu tiên đã được giải quyết bằng cách chọn mô hình gắn thẻ cho mô tả tài liệu. Mô hình này được sử dụng rộng rãi trong các hệ thống chuẩn bị tài liệu để in. Một ví dụ về hệ thống như vậy là ngôn ngữ đánh dấu tài liệu khoa học TeX nổi tiếng, do Hiệp hội Toán học Hoa Kỳ đề xuất và các chương trình giải thích nó.

ngôn ngữ HTML cho phép bạn đánh dấu một tài liệu điện tử được hiển thị trên màn hình với mức độ thiết kế in ấn; tài liệu thu được có thể chứa nhiều loại nhãn, hình minh họa, đoạn âm thanh và video, v.v. Ngôn ngữ này bao gồm các công cụ được phát triển để tạo các cấp độ tiêu đề khác nhau, lựa chọn phông chữ, danh sách, bảng khác nhau và hơn thế nữa.

Điểm quan trọng thứ hai ảnh hưởng đến số phận của HTML là một tệp văn bản thông thường đã được chọn làm cơ sở. Sự lựa chọn được thực hiện dưới ảnh hưởng của các yếu tố sau:

· Tệp như vậy có thể được tạo bằng bất kỳ trình soạn thảo văn bản nào trên bất kỳ nền tảng phần cứng nào trong môi trường của bất kỳ hệ điều hành nào;

· Vào thời điểm HTML được phát triển, đã có một tiêu chuẩn của Mỹ về phát triển hệ thống thông tin mạng - Z39.50, trong đó một tệp văn bản đơn giản ở mã hóa LATIN1 được chỉ định làm đơn vị lưu trữ, tương ứng với US ASCII.

Vì vậy, một cơ sở dữ liệu siêu văn bản trong khái niệm WWW là tập hợp các tệp văn bản được đánh dấu bằng HTML, xác định hình thức trình bày thông tin (đánh dấu) và cấu trúc kết nối giữa các tệp này với các tài nguyên thông tin khác (liên kết siêu văn bản). Liên kết siêu văn bản, thiết lập kết nối giữa các tài liệu văn bản, dần dần bắt đầu hợp nhất nhiều nguồn thông tin khác nhau, bao gồm cả âm thanh và video; Kết quả là một khái niệm mới đã nảy sinh - hypermedia.

Cách tiếp cận này giả định trước sự hiện diện của một thành phần khác của công nghệ - trình thông dịch ngôn ngữ. Trên World Wide Web, các chức năng thông dịch được phân chia giữa máy chủ Web cơ sở dữ liệu siêu văn bản và giao diện người dùng. Máy chủ, ngoài việc truy cập tài liệu và xử lý các liên kết siêu văn bản, còn cung cấp tính năng xử lý trước tài liệu, trong khi giao diện người dùng diễn giải các cấu trúc ngôn ngữ liên quan đến việc trình bày thông tin.

Phiên bản đầu tiên của ngôn ngữ (HTML 1.0) nhằm mục đích trình bày ngôn ngữ như vậy, trong đó việc mô tả các khả năng của nó mang tính chất tư vấn khá nhiều. Phiên bản thứ hai của ngôn ngữ (HTML 2.0) đã ghi lại cách sử dụng các cấu trúc của nó. Phiên bản ++ (HTML++) giới thiệu các tính năng mới, mở rộng bộ thẻ HTML để hiển thị thông tin và bảng biểu khoa học, cũng như cải thiện kiểu bố cục của hình ảnh và văn bản. Phiên bản 3.2 có thể hợp lý hóa tất cả những đổi mới và hài hòa chúng với thực tiễn hiện có. HTML 3.2 cho phép bạn sử dụng bảng, thực thi mã Java, bọc văn bản xung quanh đồ họa và hiển thị chỉ số trên và chỉ số dưới.

Giờ đây, World Wide Web Consortium (W3C) - một tổ chức quốc tế chuẩn bị và phân phối tài liệu mô tả các phiên bản HTML mới - đã xuất bản các tài liệu về đặc tả HTML 4.01. Ngoài khả năng đánh dấu văn bản, đa phương tiện và liên kết siêu văn bản đã tồn tại trong các phiên bản HTML trước, phiên bản 4.01 còn bao gồm các công cụ đa phương tiện bổ sung, ngôn ngữ lập trình, biểu định kiểu và các công cụ đơn giản hóa để in hình ảnh và tài liệu. Bạn có thể sử dụng các ngôn ngữ tập lệnh, chẳng hạn như JavaScript, Java và VBScript, để quản lý các tập lệnh duyệt trang web (cơ sở dữ liệu siêu văn bản được lưu trữ trên World Wide Web).

Sự phức tạp ngày càng tăng của HTML và sự xuất hiện của các ngôn ngữ lập trình đã dẫn đến việc phát triển các trang Web đã trở thành một vấn đề mang tính chuyên môn cao, đòi hỏi sự chuyên môn hóa trong các lĩnh vực hoạt động và không ngừng nghiên cứu các công nghệ Web mới. Nhưng sức mạnh của Internet cho phép người dùng biết những điều cơ bản về HTML có thể tạo và lưu trữ các trang Web của riêng họ mà không phải trả chi phí lớn. Khóa học đề xuất được thiết kế dành cho những người dùng như vậy.

  • Dịch

HTML là ngôn ngữ hợp nhất World Wide Web. Chỉ với một bộ thẻ đơn giản, nhân loại đã có thể tạo ra một hệ thống không thể so sánh được gồm các trang và trang web được kết nối với nhau: từ Amazon, eBay và Wikipedia, đến các blog cá nhân và các trang web dành riêng cho những chú mèo trông giống Hitler.

HTML5 là phiên bản mới nhất của ngôn ngữ này. Nhưng mặc dù thực tế là nó sẽ mang lại những thay đổi đáng kể và những cơ hội mới, không thể nói rằng điều này xảy ra lần đầu tiên và ngôn ngữ này chưa hề phát triển trước đây. Nó đã phát triển và không ngừng cải tiến kể từ khi thành lập.

Giống như World Wide Web nói chung, HTML - Ngôn ngữ đánh dấu siêu văn bản - là sản phẩm trí tuệ của Ngài Tim Berners-Lee. Năm 1991, ông viết một bài báo có tựa đề "Thẻ HTML", trong đó ông mô tả gần hai chục thẻ mà ông đề xuất để đánh dấu các trang web.

Tuy nhiên, ý tưởng sử dụng các từ mã bên trong dấu ngoặc tam giác cho việc này không thuộc về Ngài Tim. Một hệ thống như vậy đã tồn tại vào thời điểm đó và được sử dụng trong SGML (Ngôn ngữ đánh dấu tổng quát tiêu chuẩn), và thay vì phát minh ra thứ gì đó từ đầu, Ngài Tim cho rằng việc lấy các giải pháp hiện có làm cơ sở là hợp lý hơn. Một cách tiếp cận tương tự đã được sử dụng trong toàn bộ quá trình phát triển HTML5.

Từ IEFT đến W3C: con đường tới HTML 4

Chưa bao giờ có phiên bản HTML 1. Đặc tả chính thức đầu tiên là HTML 2.0, được xuất bản bởi IETF (Lực lượng đặc nhiệm kỹ thuật Internet). Nhiều tính năng ngôn ngữ được mô tả trong đặc tả này dựa trên sự phát triển của bên thứ ba đã được sử dụng. Ví dụ: gắn thẻ để chèn ảnh vào các trang đã được triển khai trong trình duyệt hàng đầu vào thời điểm đó (chúng ta đang nói về năm 1994) trình duyệt Khảm, sau đó chỉ cần chuyển sang tiêu chuẩn cho HTML 2.0.

Chiếc dùi cui IEFT sau đó đã được W3C (World Wide Web Consortium) chọn, nơi xử lý tất cả các phiên bản HTML tiếp theo. Vào nửa sau của những năm 1990, công việc tích cực đã được thực hiện để sửa đổi và thay đổi các thông số kỹ thuật, cuối cùng (chính xác hơn là vào năm 1999) đã khai sinh ra HTML 4.01.

Sau đó, bước ngoặt quan trọng đầu tiên xuất hiện trong lịch sử HTML.

XHTML 1: HTML dưới dạng XML

Phiên bản mới của ngôn ngữ đánh dấu sau HTML 4.01 được gọi là XHTML 1.0. Chữ "X" trong tên là viết tắt của eXtreme và các nhà phát triển web được yêu cầu khoanh tay trước mặt mỗi khi họ nói từ này.

Tất nhiên là không rồi. Trên thực tế, chữ “x” là viết tắt của eXtensible (“có thể mở rộng”) và khoanh tay là tùy chọn.

Bản thân thông số kỹ thuật của XHTML 1.0 không khác gì HTML 4.01. Không có thẻ hoặc tham số mới nào được thêm vào - điểm khác biệt duy nhất là ở quy tắc cú pháp. Trong khi ở HTML, các nhà phát triển được trao toàn quyền tự do về phong cách viết mã, thì ở XHTML, họ được yêu cầu tuân thủ các quy tắc của ngôn ngữ XML - cứng nhắc hơn nhiều và không khoan nhượng với các quyền tự do - mà hầu hết các công nghệ do Consortium phát triển đều dựa trên đó. .

Tuy nhiên, các quy tắc nghiêm ngặt đã có ích. Ví dụ: họ khuyến khích các lập trình viên tuân theo một phong cách duy nhất - viết tất cả các thẻ và tham số chỉ bằng chữ thường, trong khi ở HTML, bạn có thể làm điều đó theo ý muốn.

Việc phát hành XHTML 1.0 trùng hợp với việc các trình duyệt hiện đại tăng cường hỗ trợ cho các biểu định kiểu - CSS - và cú pháp nghiêm ngặt của XHTML đã có được chỗ đứng trong cộng đồng nhà phát triển với danh tiếng là cách tốt nhất để viết mã đánh dấu.

Sau đó là XHTML 1.1.

Nếu phiên bản 1.0 chỉ là HTML được tạo bằng XML thì XHTML 1.1 đã là XML thực, thuần túy. Theo nghĩa là không còn có thể áp dụng loại mime cho nó nữa văn bản/html và cần chỉ định tài liệu ở định dạng XML. Tuy nhiên, trong trường hợp đó, trình duyệt phổ biến nhất lúc bấy giờ - Internet Explorer - sẽ không thể hiển thị nó, vì vậy việc sử dụng ngôn ngữ này trong thực tế rõ ràng không phải là một lựa chọn.

Có vẻ như W3C, trong quá trình phát triển của mình, đã bắt đầu mất liên lạc với thực tế mà World Wide Web đang tồn tại.

XHTML 2: không, nó không còn vừa với bất kỳ cổng nào nữa

Nếu nhân vật của Dustin Hoffman trong The Graduate là một nhà thiết kế web thì W3C sẽ chỉ có một từ để nói với anh ta: XML.

Hiệp hội tin tưởng rằng HTML đã trở nên lỗi thời sau phiên bản 4 và bắt đầu làm việc trên XHTML 2, mục tiêu của nó là đưa web đến một tương lai XML tươi sáng. Và mặc dù tên vẫn được giữ nguyên nhưng phiên bản mới hoàn toàn không liên quan gì đến XHTML 1. Hơn nữa, nó không nhằm mục đích tương thích ngược với các phiên bản tiền nhiệm và phiên bản HTML cũ hơn (và do đó với tất cả nội dung web hiện có). Thay vào đó, lẽ ra nó phải giới thiệu một ngôn ngữ mới, rõ ràng, không bị cản trở bởi bất kỳ dấu vết nào của các thông số kỹ thuật trong quá khứ.

Nói cách khác, đó là điều vô nghĩa.

Tách: W(HATWG) TF?

Một cuộc nổi dậy đang diễn ra giữa Consortium. Rõ ràng là anh ấy sẽ lãnh đạo việc phát triển các tiêu chuẩn - mặc dù mới, sạch và đẹp - nhưng hoàn toàn không đáp ứng được nhu cầu của cộng đồng các nhà thiết kế và phát triển web hiện đại. Opera, Apple và Mozilla rõ ràng không hài lòng với điều này, vì họ mong đợi một điều gì đó hoàn toàn khác - nhấn mạnh hơn vào các định dạng mở rộng khả năng tạo ứng dụng web.

Sự khởi đầu của những thay đổi được thực hiện vào năm 2004 tại một trong những cuộc họp. Ian Hickson, lúc đó là nhân viên của Opera Software, đã đưa ra đề xuất phát triển HTML đến mức cho phép ngôn ngữ này được sử dụng cho các ứng dụng web. Lời đề nghị đã bị từ chối.

Những người nổi dậy vỡ mộng buộc phải tách khỏi Consortium và thành lập nhóm của riêng họ: Nhóm công tác công nghệ ứng dụng siêu văn bản Web, hay gọi tắt là WHATWG.

Từ ứng dụng web 1.0 đến HTML5

Cách thức hoạt động của WHATWG hơi khác so với W3C. Tại W3C, các vấn đề được nêu ra, thảo luận và quyết định cuối cùng được đưa ra bằng bỏ phiếu phổ thông. Trong WHATWG, các vấn đề cũng được nêu ra và thảo luận, nhưng quyết định cuối cùng về những gì có trong đặc tả và những gì không thuộc về tổng biên tập, Ian Hickson.

Thoạt nhìn, có vẻ như hệ thống W3C dân chủ và trung thực hơn, nhưng thực tế cho thấy những tranh chấp bất tận và tranh cãi nội bộ đã làm chậm quá trình phát triển một cách đáng kể. Trong WHATWG, nơi mọi người đều có thể đóng góp nhưng ông chủ là người quyết định cuối cùng, mọi thứ diễn ra nhanh hơn nhiều. Tuy nhiên, tổng biên tập không có tuyệt đối quyền lực - một nhóm quan chức cấp cao được lựa chọn có thể thách thức quyết định của ông trong trường hợp không chắc chắn là cần thiết.

Ban đầu, WHATWG tập trung vào hai thông số kỹ thuật - Web Forms 2.0 và Web Apps 1.0 - cả hai đều nhằm mục đích mở rộng cho HTML. Nhưng theo thời gian, chúng được kết hợp thành một cái chung, được gọi đơn giản là HTML5.

Đoàn tụ

Trong khi WHATWG đang làm việc trên HTML5 thì W3C vẫn tiếp tục làm ầm ĩ với XHTML 2. Điều này không có nghĩa là toàn bộ ý tưởng sẽ trở nên tồi tệ. Cô từ từ chìm vào trong đó.

Vào tháng 10 năm 2006, Ngài Tim Berners-Lee đã thừa nhận trên blog của mình rằng ý tưởng chuyển web từ HTML sang XML là ngu ngốc. Vài tháng sau, W3C đưa ra hướng dẫn mới cho Nhóm công tác HTML: đã có quyết định sáng suốt rằng các phiên bản HTML trong tương lai sẽ được xây dựng dựa trên công việc của WHATWG, thay vì làm gì đó từ đầu.

Tất cả những sự đảo ngược và thay đổi này tất nhiên đã dẫn đến một tình huống có phần khó hiểu. Trong một thời gian, W3C đã đồng thời làm việc trên hai ngôn ngữ đánh dấu hoàn toàn không tương thích - XTHML 2 và HTML 5 (lưu ý, có dấu cách) - trong khi WHATWG, một tổ chức riêng biệt, đang làm việc trên đặc tả HTML5 (không có dấu cách) điều đó đã trở thành cơ sở cho một đặc điểm kỹ thuật khác trong W3C. Cải ngựa sẽ phát triển ở đây, những gì. Sẽ dễ dàng hơn để tìm ra chuỗi sự kiện trong Memento và các tác phẩm của David Lynch.

XHTML đã chết, cú pháp XHTML tồn tại lâu dài

Tình hình bắt đầu trở nên rõ ràng hơn vào năm 2009, khi W3C thông báo rằng sẽ không còn bản cập nhật nào cho XHTML 2. Về cơ bản, họ chỉ chính thức thừa nhận rằng định dạng này đã chết ngay từ khi mới sinh ra.

Tuy nhiên, theo một cách kỳ lạ, thay vì không được chú ý, cái chết của XHTML 2 lại làm nảy sinh một số loại sôi sục độc hại. Những người phản đối XML đã biến tin tức này thành lời kêu gọi từ bỏ XHTML 1, mặc dù điều đó, như chúng ta biết, không có điểm chung nào với XHTML 2. Ngược lại, những người ủng hộ XHTML 1, những người tuân theo cú pháp nghiêm ngặt, lo ngại rằng HTML5 một lần nữa sẽ hợp pháp hóa bố cục cẩu thả.

Tuy nhiên, vấn đề thứ hai có vẻ không phải là một vấn đề nghiêm trọng - như chúng ta sẽ xem xét sau, mọi người đều có quyền lựa chọn mức độ nghiêm ngặt của cú pháp HTML5 cho mình.

Phát triển HTML5

Trạng thái hiện tại của HTML5 không còn u ám như trước đây nhưng nó vẫn chưa minh bạch cho lắm.

Hai tổ chức hiện đang làm việc trên định dạng này. WHATWG phát triển thông số kỹ thuật dựa trên nguyên tắc “chạy trước, kiểm tra sau”. Nhóm làm việc HTML của W3C lần lượt lấy thông số kỹ thuật này và đưa nó qua quy trình "thử nghiệm trước, sau đó chạy". Như bạn có thể thấy, sự hợp tác như vậy khó có thể gọi là mạnh mẽ và hiệu quả. Nhưng ít nhất, câu hỏi “đặt hay không đặt khoảng trắng” trong tên của tiêu chuẩn dường như đã được giải quyết (không cần thiết phải đặt nó, nếu đúng như vậy - HTML5).

Mối quan tâm lớn nhất đối với các nhà thiết kế web hiện đã thử một số khả năng của ngôn ngữ mới là câu hỏi "Khi nào nó sẽ sẵn sàng?" Trong một cuộc phỏng vấn, Ian Hickson đã đề cập đến năm 2022 là ngày HTML5 sẽ nhận được trạng thái “đề xuất”. Điều này gây ra một làn sóng phẫn nộ trong giới thiết kế, vì họ không biết “đề xuất” nghĩa là gì, nhưng họ biết chắc rằng rõ ràng họ không đủ ngón tay để đếm xem mình phải đợi bao nhiêu năm nữa cho đến năm 2022.

Nhìn vào thì thấy sự phẫn nộ là vô căn cứ. Trong trường hợp này, “đề xuất được đề xuất” có nghĩa là tại thời điểm này các trình duyệt phải có hỗ trợ đầy đủ cho tất cả các tính năng ngôn ngữ. Trong trường hợp này, mục tiêu đến năm 2022 thậm chí còn quá táo bạo; Tất cả chúng ta đều biết rằng nhiều trình duyệt gặp khó khăn trong việc bắt kịp các tiêu chuẩn hiện có. Hãy lấy Internet Explorer làm ví dụ, mất hơn mười năm để bắt đầu hỗ trợ thẻ này. .

Ngày mà Thực ra chúng ta cần lưu ý rằng đây là năm 2012, khi HTML5 sẽ được cấp trạng thái “đề xuất ứng viên”, nghĩa là thông số kỹ thuật đã được hoàn thiện và do đó, tiêu chuẩn đã sẵn sàng.

Tuy nhiên, tất nhiên, điều này không có nghĩa là tất cả những thứ đó sẽ có sẵn để sử dụng ngay lập tức - bạn sẽ cần theo dõi cách các trình duyệt dần dần thêm hỗ trợ cho một số tính năng nhất định và bắt đầu sử dụng chúng khi chúng xuất hiện. Trên thực tế, nó hoàn toàn giống với CSS 2.1: chúng tôi bắt đầu tận dụng các khả năng của tiêu chuẩn này vì các trình duyệt đã hỗ trợ nó từng phần. Nếu chúng tôi muốn đợi họ triển khai toàn bộ thì chúng tôi vẫn sẽ đợi.

Nói cách khác, sẽ không có lúc nào bạn có thể nói “Bang, thời của HTML5 đã đến!” Nhưng bạn có thể bắt đầu làm việc với họ ngay bây giờ. May mắn thay, ngôn ngữ này ra đời không phải qua một cuộc cách mạng mà trong quá trình tiến hóa và dựa trên những gì đã được tạo ra trước đó. Vì vậy, chúng tôi có thể nói rằng nếu bạn đang sử dụng bất kỳ phiên bản HTML nào trước đó thì bạn đang sử dụng HTML5.

Nội dung: 1. Giới thiệu về ngôn ngữ HTML Giới thiệu về ngôn ngữ HTML. 2. Lịch sử hình thành HTML Lịch sử hình thành HTML. 3. Các khái niệm cơ bản về ngôn ngữ HTML Các khái niệm cơ bản về ngôn ngữ HTML 4. Cấu trúc của một tài liệu Web. Cấu trúc của một tài liệu Web. 5. Chèn một chú thích Chèn một chú thích 6. Ví dụ về một tài liệu HTML Ví dụ về một tài liệu HTML. 7. Thẻ định dạng văn bản. Thẻ định dạng văn bản. 8. Thẻ để kiểm soát sự xuất hiện của một trang Web Các thẻ để kiểm soát sự xuất hiện của một trang Web 9. Thẻ Tag 10. Màu nền và màu văn bản Màu nền và văn bản 11. Danh sách Danh sách 12. Trang web với các đối tượng đồ họa. Trang web có đồ họa các đối tượng.


Giới thiệu về ngôn ngữ HTML HTML là ngôn ngữ đánh dấu tài liệu trong môi trường WEB. Những gì bạn nhìn thấy khi xem một trang trên Internet là cách diễn giải văn bản HTML của trình duyệt. Để trình duyệt hiển thị chính xác định dạng, chẳng hạn như văn bản, tức là chia nó thành các đoạn văn, trích dẫn nổi bật, tiêu đề, danh sách, v.v. bằng cách nào đó anh ta cần được thông báo rằng đây là một tiêu đề và đây là một đoạn văn, v.v. Đây chính xác là những gì ngôn ngữ html làm. Để xem mã HTML của một trang trên Internet, hãy nhấp chuột phải vào trang đó và chọn nguồn xem (hoặc “xem mã HTML”) từ menu thả xuống. Nội dung




Lịch sử hình thành HTML (Ngôn ngữ đánh dấu siêu văn bản) Một số niên đại: 1945: 1945: Nhà khoa học người Mỹ, cố vấn khoa học cho tổng thống Vannevar Bush bày tỏ ý tưởng về siêu văn bản. Năm: 1968: Douglas Engelbart trình diễn công việc của các liên kết siêu văn bản trong đã tạo ra chúng bộ xử lý văn bản. Nội dung


Thập niên 1960: Thập niên 1960: Nhân viên của IBM đã tạo ra ngôn ngữ GML (Ngôn ngữ đánh dấu chung), ngôn ngữ này được thiết kế để sử dụng trên các máy tính gia đình IBM. Ngôn ngữ GML sau đó đã được mở rộng và vào những năm 80, nó đã được tiêu chuẩn hóa bởi ISO (Tổ chức Tiêu chuẩn hóa Quốc tế). Chế độ đánh dấu mạnh mẽ và linh hoạt này, được gọi là SGML (Ngôn ngữ đánh dấu chung tiêu chuẩn), được Bộ Quân sự Hoa Kỳ sử dụng cho tài liệu kỹ thuật vào những năm 1980: nhà vật lý Tim Berners-Lee, nhân viên của CERN (Trung tâm Nghiên cứu Hạt nhân Châu Âu), trong The Nền tảng của ngôn ngữ đang được phát triển là ngôn ngữ SGML và các kỹ thuật làm việc với siêu văn bản, đó là lý do tại sao tên của ngôn ngữ mà anh ấy tạo ra - HTML - được kết nối. Ngôn ngữ mới sử dụng cấu trúc cơ bản của SGML để mô tả tài liệu và liên kết siêu văn bản. Một số ngày: Nội dung


Thuật ngữ “siêu văn bản” lần đầu tiên được Ted Nelson đặt ra vào năm 1969. Siêu văn bản là một tài liệu điện tử có chứa các liên kết đến các tài liệu khác. Nội dung








Cấu trúc của một tài liệu Web. ..., Toàn bộ nội dung của tệp trang Internet được chứa trong một thùng chứa ... cho trình duyệt biết rằng văn bản này là tài liệu HTML và có thể chứa các thẻ mà trình duyệt phải xác định, nhận dạng và giải thích. Một trang Internet điển hình (HEAD)(BODY) Một trang Internet điển hình bao gồm hai phần: tiêu đề (HEAD) và phần nội dung (BODY). Nội dung


Cấu trúc của một tài liệu Web. bắt đầu vùng chứa tài liệu HTML bắt đầu vùng chứa tiêu đề bắt đầu vùng chứa dòng - tiêu đề trang ...dòng tiêu đề trang cuối vùng chứa dòng - tiêu đề trang cuối vùng chứa tiêu đề bắt đầu vùng chứa nội dung trang ...nội dung (tất cả nội dung) của cuối trang của phần thân trang chứa phần cuối của phần chứa tài liệu HTML Cấu trúc cơ bản này ở dạng đơn giản nhất có thể được hiển thị rõ ràng như sau: Nội dung


Cấu trúc của một tài liệu Web. Chuỗi tiêu đề bạn chỉ định sẽ được hiển thị trong tiêu đề của cửa sổ trình duyệt khi trang này được xem trong đó, cũng như (sau khi trang được đăng trên Internet) trong danh sách do máy chủ tìm kiếm cung cấp. Nội dung






Thẻ định dạng văn bản. hiển thị văn bản ở phông chữ đậm. hiển thị văn bản in nghiêng hiển thị văn bản ở phông chữ được gạch chân. và hiển thị văn bản có đường ngang xuyên qua nó. hiển thị văn bản có phông chữ lớn hơn phần không được gắn nhãn của văn bản hiển thị văn bản kèm theo có phông chữ nhỏ hơn phần còn lại của văn bản: di chuyển văn bản xuống dưới mức dòng và hiển thị văn bản đó ở phông chữ nhỏ hơn. Được khuyến nghị để in các chỉ mục toán học: dịch chuyển văn bản lên trên mức dòng và hiển thị nó ở cỡ chữ nhỏ hơn. Thẻ này có thể được sử dụng để chỉ định lũy thừa của số: Nội dung




Thẻ Thẻ cho phép bạn thay đổi phông chữ mà trình duyệt sử dụng để xem trang Web. Một thẻ có thể có các tham số sau: FACE – chỉ định tên của phông chữ mà văn bản sẽ được hiển thị. SIZE – đặt kích thước phông chữ theo đơn vị thông thường từ 1 (nhỏ nhất) đến 7 (lớn nhất). Người ta thường chấp nhận rằng kích thước phông chữ bình thường tương ứng với giá trị 3. MÀU – đặt màu phông chữ, có thể được chỉ định bằng tên tiêu chuẩn hoặc một tập hợp các chữ số thập lục phân. Nội dung



Màu nền và màu văn bản Chúng tôi đã biết cách thay đổi màu văn bản, nhưng để làm được điều này, chúng tôi cần đặt nó trong thẻ phông chữ và điều này không phải lúc nào cũng thuận tiện. Đôi khi, tốt hơn là bạn nên đặt màu văn bản cho toàn bộ tài liệu. Bạn cũng có thể đặt hình nền. Dưới đây là các thuộc tính bắt buộc: NỀN – xác định hình ảnh để “lấp đầy” nền. Giá trị được chỉ định dưới dạng URL đầy đủ hoặc tên của tệp có hình ảnh ở định dạng GIF hoặc JPG (sẽ nói thêm về điều này sau). BGCOLOR – xác định màu nền của tài liệu. TEXT – xác định màu của văn bản trong tài liệu. Tất cả chúng đều được đăng ký cho phần tử BODY. Giá trị màu được chỉ định bằng giá trị thập lục phân RGB hoặc bằng một trong 16 màu cơ bản. Nội dung




Màu nền và văn bản Ví dụ: Văn bản này sẽ có màu đỏ vì chúng tôi đã thay đổi màu văn bản trong thẻ BODY và ​​bây giờ tất cả văn bản trên trang sẽ có màu đỏ theo mặc định. Đoạn này sẽ có văn bản màu xanh lục vì chúng tôi đã gói nó trong thẻ phông chữ và đưa ra đó là màu thích hợp Bây giờ văn bản sẽ lại có màu đỏ Nội dung


Danh sách Mỗi phần tử danh sách bắt đầu bằng một thẻ Ngôn ngữ HTML cung cấp một bộ thẻ đặc biệt để trình bày thông tin dưới dạng danh sách thuộc các loại sau: Dấu đầu dòng (); Được đánh số(/); danh sách các định nghĩa (/). Thuật ngữ. Định nghĩa của nó... Nội dung


Trang web với các đối tượng đồ họa. Hình ảnh là một phần không thể thiếu của bất kỳ trang web nào trên Internet. Chúng được sử dụng ở mọi nơi, vì vậy hãy tìm hiểu xem đó là gì. Có ba loại tệp hình ảnh có thể được chèn vào trang của bạn: GIF (Định dạng trao đổi đồ họa) JPG/JPEG (Nhóm chuyên gia chụp ảnh chung) Nội dung PNG (Đồ họa mạng di động)


Trang web với các đối tượng đồ họa. Đôi lời về định dạng: GIF - chỉ sử dụng 256 màu và do đó, phù hợp hơn với các bản vẽ có ít sắc thái. Định dạng này hỗ trợ độ trong suốt của hình ảnh. JPEG là định dạng hình ảnh sử dụng tới một triệu màu. Thường được sử dụng cho ảnh và đồ họa chất lượng cao (với số lượng sắc thái khổng lồ). PNG là một định dạng tương đối mới. Nó vượt trội hơn JPEG và GIF về nhiều mặt: hàng triệu màu và khả năng nén hiệu quả. Cũng hỗ trợ tính minh bạch. Định dạng chụp ảnh nào là tùy thuộc vào bạn, nhưng hãy cố gắng đạt được chất lượng tối đa với kích thước tối thiểu. Nội dung


Trang web với các đối tượng đồ họa. Để đặt hình ảnh vào tài liệu HTML, hãy sử dụng thẻ có tham số SRC chỉ định vị trí của tệp hình ảnh. Ví dụ: - hình ảnh nằm trong tệp picture.gif sẽ được đặt trong tài liệu HTML; - một hình ảnh sẽ được đặt trong tài liệu HTML, nằm trong tệp Tile.bmp, nằm trong thư mục Hình ảnh, nằm trong cùng thư mục với tài liệu HTML. Nội dung


Trang web với các đối tượng đồ họa. Khi bạn đưa đồ họa vào tài liệu, bạn có thể chỉ định vị trí của nó so với văn bản hoặc các thành phần trang khác. Phương pháp căn chỉnh hình ảnh được chỉ định bởi giá trị tham số ALIGN của thẻ. Dưới đây là một số giá trị có thể có cho tham số này: LEFT Điều chỉnh hình ảnh ở lề trái của cửa sổ. Văn bản bao quanh hình ảnh ở phía bên phải. RIGHT Hình ảnh được ép vào lề phải của cửa sổ. Văn bản bao quanh hình ảnh ở phía bên trái. Nội dung





Bản dịch: Vlad Merzhevich

Gần đây tôi đã đọc được một câu trích dẫn từ các nhà phát triển Mozilla về những căng thẳng xung quanh việc phát triển các tiêu chuẩn:

Việc triển khai và thông số kỹ thuật phải hòa quyện với nhau trong một vũ điệu duyên dáng. Bạn không muốn việc triển khai diễn ra trước khi đặc tả hoàn tất, bởi vì mọi người sẽ trở nên phụ thuộc vào chi tiết triển khai và điều đó sẽ cản trở đặc tả. Tuy nhiên, bạn cũng không muốn hoàn thành đặc tả trước khi triển khai, khi đó tác giả sẽ bắt đầu thử nghiệm việc triển khai khi bạn cần phản hồi. Có một sự căng thẳng không thể tránh khỏi ở đây, nhưng chúng ta chỉ còn cách lựa chọn cho đến cuối cùng.

Hãy ghi nhớ câu nói này trong đầu và để tôi giải thích về sự phát triển của HTML5.

các loại MIME

Cuốn sách này viết về HTML5, không phải về các phiên bản HTML trước đó và cũng không phải về các phiên bản XHTML. Nhưng để hiểu lịch sử của HTML5 và động lực đằng sau nó, trước tiên bạn phải hiểu một số điểm kỹ thuật. Đặc biệt là các loại MIME.

Mỗi khi trình duyệt của bạn yêu cầu một trang, máy chủ web sẽ gửi "tiêu đề" trước khi gửi mã trang thực tế. Những tiêu đề này thường ẩn, mặc dù có những công cụ dành cho nhà phát triển web giúp chúng hiển thị nếu bạn quan tâm. Tiêu đề rất quan trọng vì chúng cho trình duyệt của bạn biết cách diễn giải đánh dấu của trang. Tiêu đề quan trọng nhất được gọi là Content-Type và trông như thế này:

Loại nội dung: văn bản/html

"text/html" được gọi là "loại nội dung" hoặc "loại MIME" của trang. Tiêu đề này chỉ xác định tài nguyên thực sự là gì và cách hiển thị nó. Hình ảnh có loại MIME riêng (hình ảnh/jpeg cho JPEG, hình ảnh/png cho PNG, v.v.). Các tệp JavaScript có loại MIME riêng. CSS có loại MIME riêng. Tất cả đều có loại MIME riêng. Internet chạy trên các loại MIME.

Tất nhiên, trong thực tế mọi thứ phức tạp hơn nhiều. Thế hệ máy chủ web đầu tiên (tôi đang nói về máy chủ web từ năm 1993) đã không gửi tiêu đề Content-Type vì nó không tồn tại (nó không được phát minh cho đến năm 1994). Vì lý do tương thích khi hoàn nguyên ngày về năm 1993, một số trình duyệt phổ biến bỏ qua tiêu đề Kiểu nội dung trong một số trường hợp nhất định (điều này được gọi là "đánh hơi nội dung"). Tuy nhiên, theo quy định, mọi thứ bạn từng xem trên Web - trang HTML, hình ảnh, tập lệnh, video, tệp PDF, v.v. - đều được cung cấp cho bạn bằng một loại MIME cụ thể trong tiêu đề Kiểu nội dung.

Bây giờ hãy đặt chiếc mũ của bạn sang một bên. Chúng ta sẽ quay lại vấn đề này sau.

Một sự lạc đề dài về cách các tiêu chuẩn được thực hiện

Tại sao chúng ta sử dụng phần tử ? Đây không phải là câu hỏi bạn nghe hàng ngày. Rõ ràng là có ai đó đã tạo ra nó. Những điều này không tự nhiên xuất hiện. Mọi phần tử, mọi thuộc tính, mọi tính năng HTML mà bạn từng sử dụng - ai đó đã tạo ra chúng, quyết định cách chúng hoạt động và viết tất cả. Những người này không phải là thần thánh và họ không hoàn hảo. Họ là những người bình thường. Tôi chắc chắn là những người thông minh. Nhưng chỉ là con người.

Một trong những điều tuyệt vời về tiêu chuẩn nguồn mở là bạn có thể quay ngược thời gian và trả lời các câu hỏi khác nhau. Các cuộc thảo luận diễn ra thông qua danh sách gửi thư, thường được lưu trữ và công khai. Vì vậy tôi quyết định làm một cuộc “khảo cổ học bưu chính” nhỏ để cố gắng trả lời câu hỏi “Tại sao chúng ta sử dụng nguyên tố ?. Tôi phải quay lại thời trước khi có một tổ chức tên là World Wide Web Consortium (W3C). Tôi quay lại những ngày đầu của web, khi bạn có thể đếm số lượng máy chủ web trên hai bàn tay và có thể là một đôi ngón chân.

Có một số lỗi chính tả trong các trích dẫn sau đây. Tôi quyết định giữ nguyên chúng để đảm bảo tính chính xác về mặt lịch sử.

Tôi muốn đề xuất một thẻ HTML bổ sung mới:

Đối số bắt buộc SRC="url"

Đây là tên của tệp bitmap hoặc đồ họa dành cho trình duyệt đang cố gắng kéo nó qua web và hiểu nó dưới dạng hình ảnh, hình ảnh này phải được đưa vào văn bản khi thẻ được tạo.

(Không có thẻ đóng ở đây, nó chỉ là một thẻ duy nhất.)

Trình duyệt phải linh hoạt trong các định dạng đồ họa mà chúng hỗ trợ. Ví dụ: Xbm và Xpm được hỗ trợ tốt. Nếu trình duyệt không thể diễn giải một định dạng nhất định, nó có thể làm bất cứ điều gì nó muốn (X Khảm sẽ xuất ra một bitmap dưới dạng trình giữ chỗ theo mặc định).

Điều này sẽ yêu cầu chức năng cho X Khảm, nó hoạt động với chúng tôi và ít nhất chúng tôi đã sử dụng nó trong nội bộ. Tất nhiên, tôi sẵn sàng đón nhận các đề xuất về cách xử lý vấn đề này trong HTML, nếu bạn có ý tưởng hay hơn ý tưởng được đề xuất, vui lòng cho tôi biết. Tôi nhận ra rằng tôi đã viết một cách mơ hồ về các định dạng hình ảnh, nhưng tôi không thấy bất kỳ giải pháp thay thế nào ngoài việc chỉ nói "hãy để trình duyệt làm những gì nó có thể" và chờ đợi giải pháp hoàn hảo (có thể là MIME, một ngày nào đó).

Tôi có một cái gì đó tương tự trong Midas 2.0 (được sử dụng ở đây tại SLAC và sẽ được phát hành công khai trong tuần này), ngoại trừ việc các tên đều khác nhau và có thêm đối số NAME="name". Ví dụ: nó có chức năng gần như chính xác giống như thẻ IMG mà bạn đề xuất.

Ý tưởng đằng sau tham số tên sẽ cho phép trình duyệt cài đặt các hình ảnh "được nhúng". Nếu tên khớp với hình ảnh "được nhúng" thì tên đó sẽ được sử dụng thay vì truy cập và lấy hình ảnh. Tên cũng có thể hoạt động như một gợi ý để các trình duyệt "chế độ dòng" đặt một số ký tự vào vị trí của hình ảnh.

Tôi không quan tâm nhiều đến các tham số hoặc tên thẻ, nhưng sẽ hợp lý hơn nếu sử dụng những thứ tương tự. Tôi không quan tâm nhiều đến chữ viết tắt, vậy tại sao không IMAGE= và SOURCE=. Tôi vẫn thích ICON hơn vì nó đơn giản hơn IMAGE và nên nhỏ, nhưng có lẽ ICON là một từ quá tải chăng?

Midas là một trình duyệt đầu tiên khác, cùng thời với X Khảm. Nó đa nền tảng và chạy trên Unix và VMS. SLAC đề cập đến Trung tâm Máy gia tốc Tuyến tính Stanford, nay là Phòng thí nghiệm Máy gia tốc Quốc gia SLAC, nơi vận hành máy chủ web đầu tiên của Hoa Kỳ (thực ra là máy chủ web đầu tiên bên ngoài Châu Âu). Khi Tony viết bài này, SLAC là trang lâu đời nhất trên WWW, đã lưu trữ 5 trang trên máy chủ web của nó trong suốt 441 ngày.

Tony tiếp tục:

Trong khi chúng ta đang nói về chủ đề các thẻ mới, tôi có một ý tưởng khác, một thẻ tương tự mà tôi muốn hỗ trợ trong Midas 2.0. Về cơ bản là như thế này:

Ý tưởng là tài liệu thứ hai được chèn vào tài liệu đầu tiên tại vị trí xuất hiện thẻ này. Về nguyên tắc, tài liệu nói trên có thể là bất cứ thứ gì, nhưng mục tiêu chính là cho phép hình ảnh (trong trường hợp này có kích thước tùy ý) được nhúng vào tài liệu. Một lần nữa, ý tưởng là với sự ra đời của HTTP2, định dạng của các tài liệu đi kèm sẽ được thảo luận riêng.

Vài giờ sau khi Tony gửi tin nhắn, Tim Berners-Lee đã trả lời.

Tôi nghĩ các hình minh họa sẽ được trình bày như thế này:

Hình minh họa

trong đó các giá trị tỷ lệ biểu thị

NHÚNG Chèn vào đây nếu có
HIỆN TẠI Hiển thị khi tài liệu gốc được trình bày

Lưu ý rằng bạn có thể có các kết hợp khác nhau trong số này và nếu trình duyệt không hỗ trợ thì nó sẽ không bị hỏng.

[Tôi] có thể thấy điều này đang được sử dụng như một phương pháp chọn biểu tượng thông qua các liên kết lồng nhau. Hừm. Nhưng tôi không thích một thẻ đặc biệt.

Đề xuất này không được triển khai nhưng thuộc tính rel vẫn còn ở đây.

Sẽ thật tuyệt nếu có cách chỉ định loại nội dung, ví dụ:

Nhưng tôi hoàn toàn sẵn sàng chấp nhận yêu cầu chỉ định loại nội dung theo đuôi tệp.

Đề xuất này không được triển khai, nhưng Netscape sau đó đã bổ sung thêm hỗ trợ cho việc nhúng các đối tượng đa phương tiện bằng phần tử này. .

Mặc dù hình ảnh nằm ở đầu danh sách mong muốn của tôi, nhưng ở giữa các loại trong trình duyệt WWW, tôi không nghĩ chúng ta nên thêm từng móc dành riêng cho phương tiện truyền thông. Điều gì đã xảy ra với sự nhiệt tình sử dụng cơ chế MIME?

Đây không phải là sự thay thế cho việc sử dụng MIME sắp tới làm cơ chế tài liệu tiêu chuẩn; nó cung cấp việc triển khai đơn giản và cần thiết các chức năng được yêu cầu bất kể MIME.

Bây giờ chúng ta hãy quên MIME đi nếu đây chỉ là sự cố tạm thời. Sự phản đối của tôi là thảo luận về "cách chúng tôi hỗ trợ hình ảnh nội tuyến" thay vì "cách chúng tôi hỗ trợ hình ảnh nội tuyến trên các phương tiện truyền thông".

Nếu không, sau một tuần sẽ có người đề xuất “chèn thẻ mới " cho âm thanh.

Sẽ không có nhiều chi phí khi chuyển từ một thứ gì đó chung chung.

Nhìn lại thì mối lo ngại của Jay có vẻ chính đáng. Phải mất hơn một tuần nhưng các phần tử mới cuối cùng đã được thêm vào HTML5

Trả lời bài viết gốc của Jay, Dave Ragett nói:

Chính xác! Tôi muốn xem xét đầy đủ các hình ảnh/đường nét nghệ thuật có thể có cùng với cuộc thảo luận về định dạng. Tim lưu ý về việc hỗ trợ các vùng có thể nhấp vào bên trong hình ảnh, điều này cũng rất quan trọng.

Trên thực tế, có lẽ chúng ta nên nghĩ về một ngôn ngữ đồ họa thủ tục có mục đích chung mà chúng ta có thể chèn các siêu liên kết tùy ý gắn liền với các biểu tượng, hình ảnh, văn bản, v.v. Có ai khác nhìn thấy khả năng của Intermedia về vấn đề này không?

Hãy xem các hệ thống khác có những khái niệm (khá có giá trị) này, Andrew và Slate. Andrew được xây dựng bằng _inserts_, mỗi loại có một số loại thú vị, chẳng hạn như văn bản, bitmap, đồ họa, hoạt ảnh, tin nhắn, bảng tính, v.v. Khái niệm lồng đệ quy tùy ý đã tồn tại, do đó, bất kỳ loại chèn nào cũng có thể được lồng vào bất kỳ loại nào khác hỗ trợ lồng. Ví dụ: một hình nhỏ có thể được nhúng vào bất kỳ đâu trong văn bản của tiện ích văn bản hoặc trong bất kỳ khu vực hình chữ nhật nào của tiện ích vẽ hoặc trong bất kỳ ô nào của bảng tính.

Đây là ý kiến ​​​​của tôi. Cách tốt nhất để hiển thị hình ảnh trên WWW là sử dụng MIME. Tôi chắc chắn rằng PostScript đã hỗ trợ kiểu phụ MIME và nó thực hiện rất tốt việc kết hợp văn bản và đồ họa.

Nhưng bạn nói nó không thể nhấp được? Vâng, bạn đúng. Tôi nghi ngờ câu trả lời cho vấn đề này đã có trong Display PostScript. Ngay cả khi không được thêm vào PostScript tiêu chuẩn thì điều này cũng không quan trọng. Xác định lệnh liên kết chỉ định một URL và sử dụng đường dẫn hiện tại làm vùng kèm theo cho nút. Vì PostScript xử lý tốt các đường dẫn nên việc tạo một nút tùy chỉnh là chuyện nhỏ.

Display PostScript là một công nghệ kết xuất màn hình do Adobe và NeXT cùng phát triển.

Đề xuất này đã không được thực hiện, nhưng ý tưởng cho rằng cách tốt nhất để sửa HTML là thay thế nó bằng một thứ gì đó hoàn toàn khác vẫn thỉnh thoảng xuất hiện.

HTTP2 cho phép một tài liệu chứa bất kỳ loại nào mà người dùng cho biết nó có thể hoạt động được, không chỉ các loại MIME đã đăng ký. Vì vậy, bạn có thể thử nghiệm. Có, tôi nghĩ có một trường hợp dành cho PostScript có siêu văn bản. Tôi không biết Display PostScript có đủ không. Tôi biết Adobe đang cố gắng tạo "PDF" tập trung vào PostScript của riêng họ sẽ có các liên kết và người xem độc quyền của họ có thể đọc được.

Tôi nghĩ rằng một ngôn ngữ lớp phủ chung cho các liên kết (dựa trên Hytime?) sẽ cho phép các tiêu chuẩn siêu văn bản và đồ họa/video phát triển riêng biệt, điều này sẽ giúp ích cho cả hai.

Để thẻ IMG bao gồm INCLUDE và để nó tham chiếu đến một loại tài liệu tùy ý. Hoặc EMBED nếu INCLUDE phát âm giống cpp include để mọi người có thể cung cấp mã nguồn SGML để phân tích cú pháp từng dòng - không như dự định.

Quay lại hình ảnh nội tuyến một lần nữa - Tôi sắp phát hành Khảm 0.10 hỗ trợ hình ảnh GIF và XBM như đã đề cập trước đó...

Chúng tôi chưa sẵn sàng hỗ trợ INCLUDE/EMBED vào thời điểm này... Vì vậy, chúng tôi có thể sẽ sử dụng (không phải ICON, vì không phải tất cả hình ảnh nội tuyến đều có thể được gọi là biểu tượng một cách hợp lý). Hiện tại, hình ảnh nội tuyến sẽ không chứa loại nội dung một cách rõ ràng; trong tương lai, chúng tôi dự định hỗ trợ điều này (cùng với việc điều chỉnh MIME chung). Trên thực tế, quy trình đọc hình ảnh mà chúng ta hiện đang sử dụng sẽ xác định định dạng một cách nhanh chóng, vì vậy phần mở rộng của tệp không quan trọng lắm.

Đường liên tục

Tôi cực kỳ đam mê tất cả các khía cạnh của cuộc trò chuyện kéo dài gần 17 năm này, điều này đã dẫn đến việc tạo ra một thành phần HTML được sử dụng trên hầu hết mọi trang web từng được xuất bản. Chúng ta hãy tính đến:

  • HTTP vẫn tồn tại. HTTP đã phát triển thành công từ 0,9 lên 1,0 và sau đó lên 1,1. Và nó vẫn đang phát triển.
  • HTML vẫn tồn tại. Đây là định dạng dữ liệu thô sơ - nó thậm chí không hỗ trợ hình ảnh đường kẻ! - phát triển thành công trong 2.0, 3.2, 4.0. HTML là một dòng liên tục. Chắc chắn là một đường quanh co, thắt nút, rối rắm. Có rất nhiều "nhánh chết" trong cây tiến hóa, những nơi mà những người có tư duy chuẩn mực đã vượt lên trên chính mình (và vượt qua các tác giả và người biểu diễn). Nhưng dù sao thì. Chúng ta đang ở đây vào năm 2010 và các trang web từ năm 1990 vẫn được hiển thị trong các trình duyệt hiện đại. Tôi vừa tải một cái vào trình duyệt trên điện thoại di động của mình trên Android mới nhất và nó thậm chí còn không nhắc tôi “Vui lòng đợi trong khi định dạng cũ được nhập…”.
  • HTML luôn là cuộc trò chuyện giữa các nhà phát triển trình duyệt, tác giả, những người đam mê tiêu chuẩn và những người khác vừa mới xuất hiện và muốn nói về dấu ngoặc nhọn. Hầu hết các phiên bản thành công của HTML đều có "thông số kỹ thuật cổ điển", bắt kịp xu hướng của thế giới trong khi cố gắng đẩy nó đi đúng hướng. Bất cứ ai nói với bạn rằng HTML phải "sạch" (có thể bỏ qua các nhà phát triển trình duyệt hoặc bỏ qua các tác giả hoặc cả hai) đơn giản là đã đưa ra thông tin sai. HTML chưa bao giờ sạch sẽ và mọi nỗ lực dọn dẹp nó đều thất bại một cách ngoạn mục và chỉ phù hợp với những nỗ lực thay thế nó.
  • Không có trình duyệt nào kể từ năm 1993 tồn tại dưới bất kỳ hình thức dễ nhận biết nào. Netscape Navigator đã bị bỏ rơi vào năm 1998 và được viết lại từ đầu để tạo ra Mozilla Suite, sau đó Firefox được tách ra. Internet Explorer khởi đầu là một "bắt đầu từ đâu" khiêm tốn trong "Microsoft Plus!" dành cho Windows 95" nơi nó đi kèm với một số chủ đề máy tính để bàn và trò chơi pinball.
  • Một số hệ điều hành từ năm 1993 vẫn còn tồn tại nhưng không có hệ điều hành nào phù hợp với Web hiện đại. Hầu hết những người "hiểu biết" đều truy cập Internet trên PC chạy Windows 2000 trở lên, máy Mac chạy Mac OS X, PC chạy Linux hay thiết bị di động như iPhone. Năm 1993, Windows ở phiên bản 3.1 (và cạnh tranh với OS/2), máy Mac chạy System 7, Linux được phân phối qua Usenet.
  • Một số người vẫn tham gia và vẫn tham gia vào cái mà ngày nay chúng tôi gọi đơn giản là “tiêu chuẩn web”. Đến nay đã gần 20 năm rồi. Và một số có liên quan đến tiền thân của HTML, từ những năm 1980 trở về trước.
  • Nói về những người tiền nhiệm... Với sự phổ biến tột độ của HTML và web, thật dễ dàng quên đi những người đã định hình việc thiết kế các định dạng và hệ thống hiện đại. Andrew? Trung gian? HyTime? Và HyTime không phải là một dự án nghiên cứu thời tiền hồng thủy, nó là một tiêu chuẩn ISO. Nó đã được phê duyệt cho sử dụng quân sự. Đó là Doanh nghiệp lớn. Và bạn có thể tự đọc về nó... .

Nhưng không điều nào trong số này trả lời được câu hỏi ban đầu: tại sao chúng ta sử dụng phần tử ? Tại sao không phải là yếu tố ? Hoặc phần tử ? Tại sao không liên kết với thuộc tính include hoặc kết hợp các giá trị rel? Tại sao yếu tố ? Nó rất đơn giản vì Marc Andreessen đã triển khai nó và mã được triển khai đã thắng.

Điều này không có nghĩa là tất cả các mã được triển khai đều thắng, cuối cùng thì Andrew, Intermedia và HyTime cũng được triển khai. Mã là cần thiết, nhưng không đủ để thành công. Tôi chắc chắn không có ý nói rằng việc triển khai mã trước khi tiêu chuẩn được phát hành là giải pháp tốt nhất. Yếu tố thương hiệu không xác định các định dạng đồ họa cơ bản; không chỉ rõ văn bản sẽ bao quanh nó như thế nào; không hỗ trợ văn bản thay thế hoặc nội dung dự phòng cho các trình duyệt cũ hơn. Và 17 năm sau, chúng ta vẫn đang phải vật lộn với việc đánh hơi nội dung và nó vẫn là nguồn gốc của những lỗ hổng bảo mật điên rồ. Và bạn có thể theo dõi tất cả cách đây 17 năm, thông qua Cuộc chiến trình duyệt vĩ đại, kể từ ngày 25 tháng 2 năm 1993, khi Marc Andreessen tình cờ nhận xét, "MIME, một ngày nào đó, có thể," và sau đó triển khai mã của mình bất kể thế nào đi nữa.

Dòng thời gian phát triển HTML từ 1997 đến 2004

Vào tháng 12 năm 1997, World Wide Web Consortium (W3C) đã xuất bản HTML 4.0 và nhanh chóng đóng cửa Nhóm làm việc HTML. Chưa đầy hai tháng sau, một Nhóm làm việc W3C riêng biệt đã xuất bản XML 1.0. Ba tháng sau đó, những người điều hành W3C đã tổ chức một buổi hội thảo mang tên "Định hình tương lai của HTML" để trả lời câu hỏi: "W3C đã từ bỏ HTML?" Đây là câu trả lời của họ:

Trong cuộc thảo luận, người ta đã quyết định rằng việc mở rộng thêm HTML 4.0 sẽ khó khăn, như thể chúng ta đang chuyển đổi 4.0 sang các ứng dụng XML. Đường dẫn được đề xuất sẽ giải phóng bạn khỏi những hạn chế để bắt đầu cuộc sống mới với thế hệ HTML tiếp theo dựa trên một bộ thẻ XML.

W3C đã khởi động lại Nhóm làm việc HTML để tạo ra "bộ thẻ XML" này. Bước đầu tiên của họ vào tháng 12 năm 1998 là phác thảo một đặc tả tạm thời chỉ đơn giản là làm lại HTML thành XML mà không thêm bất kỳ phần tử hoặc thuộc tính mới nào. Thông số kỹ thuật này sau đó được gọi là "XHTML 1.0". Nó xác định một loại MIME mới cho tài liệu XHTML - application/xhtml+xml. Tuy nhiên, để giúp di chuyển các trang HTML4 hiện có dễ dàng hơn, nó cũng bao gồm Phụ lục C, trong đó "tóm tắt các nguyên tắc thiết kế cho các tác giả muốn tài liệu XHTML của họ được hiển thị trên các tác nhân người dùng HTML hiện có". Phụ lục C cho bạn biết rằng nó cho phép tác giả của những trang được gọi là "XHTML" vẫn phân phát chúng với loại MIME text/html .

Mục tiêu tiếp theo là các biểu mẫu web. Vào tháng 8 năm 1999, cũng chính Nhóm công tác HTML này đã xuất bản bản thảo đầu tiên của Biểu mẫu mở rộng XHTML. Cô đặt kỳ vọng ở đoạn đầu tiên:

Sau khi xem xét cẩn thận, Nhóm làm việc HTML đã xác định rằng mục tiêu của thế hệ biểu mẫu tiếp theo không giống với việc duy trì khả năng tương thích ngược với các trình duyệt được thiết kế cho các phiên bản HTML trước đó. Mục tiêu của chúng tôi là đảm bảo tính thuần khiết của mô hình biểu mẫu mới (Biểu mẫu mở rộng XHTML) dựa trên một tập hợp các yêu cầu được xác định rõ ràng. Những yêu cầu này được mô tả trong tài liệu này và dựa trên kinh nghiệm với nhiều ứng dụng biểu mẫu.

Vài tháng sau, "Biểu mẫu mở rộng XHTML" được đổi tên thành "XForms" và chuyển sang Nhóm làm việc của riêng nó. Nhóm này làm việc song song với Nhóm làm việc HTML và cuối cùng đã xuất bản bản phát hành đầu tiên của XForms 1.0 vào tháng 10 năm 2003.

Trong khi đó, với việc chuyển đổi sang XML đầy đủ, Nhóm công tác HTML đã đặt mục tiêu tạo ra "thế hệ HTML tiếp theo". Vào tháng 5 năm 2001, nó xuất bản bản sửa đổi đầu tiên của XHTML 1.1, chỉ bổ sung một số tính năng nhỏ bên trên XHTML 1.0, nhưng cũng đóng lỗ hổng "Phụ lục C". Kể từ phiên bản 1.1, tất cả tài liệu XHTML phải được cung cấp với loại MIME application/xhtml+xml.

Mọi điều bạn biết về XHTML đều sai

Tại sao các loại MIME lại quan trọng đến vậy? Tại sao tôi tiếp tục quay lại với họ? Ba từ: xử lý lỗi hà khắc. Các trình duyệt luôn khoan dung với HTML. Nếu bạn đã tạo một trang HTML nhưng quên thẻ, trình duyệt sẽ vẫn hiển thị trang (một số thẻ ngầm khiến việc hoàn thành và sự khởi đầu ). Bạn nên giả định việc lồng các thẻ theo thứ bậc - chúng được đóng theo thứ tự ngược lại - nhưng nếu bạn tạo mã như , trình duyệt sẽ xử lý nó (bằng cách này hay cách khác) và tiếp tục mà không hiển thị thông báo lỗi.

Như bạn có thể mong đợi, thực tế là HTML bị hỏng hoạt động trong trình duyệt đã cho phép các tác giả tạo ra các trang HTML bị hỏng. Rất nhiều trang bị hỏng. Theo một số ước tính, hơn 99% trang HTML trên Web ngày nay có ít nhất một lỗi. Nhưng vì những lỗi này không buộc trình duyệt hiển thị thông báo lỗi hiển thị nên không ai sửa chúng.

W3C coi đây là một vấn đề cơ bản của web và bắt đầu khắc phục nó. XML, được xuất bản năm 1997, đã phá vỡ truyền thống tha thứ cho khách hàng và ra lệnh rằng tất cả các chương trình sử dụng XML phải coi cái gọi là lỗi "cú pháp" là nghiêm trọng. Khái niệm thất bại ngay từ sai lầm đầu tiên này được gọi là "xử lý lỗi hà khắc", tương tự như nhà lãnh đạo Hy Lạp Draco, người đã đưa ra án tử hình cho những vi phạm luật pháp dù là nhỏ nhất. Khi W3C định dạng lại HTML dưới dạng từ vựng XML, nó bắt buộc tất cả tài liệu được truyền bằng loại MIME mới application/xhtml+xml phải chịu xử lý lỗi hà khắc. Nếu có ít nhất một lỗi cú pháp trong trang XHTML - chẳng hạn như thẻ bị quên hoặc thẻ bắt đầu và kết thúc được lồng không chính xác - trình duyệt sẽ không có lựa chọn nào khác ngoài việc ngừng xử lý và hiển thị thông báo lỗi cho người dùng cuối.

Ý tưởng này không phổ biến ở khắp mọi nơi. Với tỷ lệ lỗi ước tính là 99% trên các trang hiện có, khả năng xảy ra lỗi rất phổ biến đối với người dùng cuối và việc thiếu các tính năng mới trong XHTML 1.0 và 1.1, các tác giả phần lớn bỏ qua ứng dụng/xhtml+xml để biện minh cho chi phí. Nhưng điều đó không có nghĩa là họ bỏ qua toàn bộ XHTML. Ồ, chắc chắn là không. Phụ lục C của đặc tả XHTML 1.0 đã tạo ra một lỗ hổng cho các tác giả trên thế giới: "Tạo ra thứ gì đó trông giống cú pháp XHTML, nhưng lại để nó được truyền bằng văn bản/html loại MIME." Và đó chính xác là điều mà hàng nghìn nhà phát triển web đã làm: họ "nâng cấp" lên cú pháp XHTML nhưng vẫn tiếp tục hiển thị bằng loại MIME văn bản/html.

Thậm chí ngày nay, hàng triệu trang web yêu cầu XHTML. Chúng bắt đầu bằng loại tài liệu XHTML trên dòng đầu tiên, sử dụng tên thẻ chữ thường, dấu ngoặc kép xung quanh các thuộc tính và thêm dấu gạch chéo sau các phần tử trống như


. Nhưng chỉ một phần nhỏ trong số các trang này được cung cấp với loại MIME application/xhtml+xml, bao gồm việc xử lý lỗi XML hà khắc. Bất kỳ trang nào được chuyển bằng văn bản/html loại MIME - bất kể loại tài liệu, cú pháp hoặc kiểu mã hóa - sẽ được phân tích cú pháp bằng trình phân tích cú pháp HTML nhẹ nhàng, âm thầm bỏ qua mọi lỗi đánh dấu và không bao giờ cảnh báo cho người dùng cuối (hoặc bất kỳ ai khác) ngay cả khi trang đó có vấn đề về mặt kỹ thuật. vỡ.

XHTML 1.0 đã bao gồm lỗ hổng này, nhưng XHTML 1.1 đã đóng nó lại và XHTML 2.0 chưa hoàn thiện vẫn tiếp tục truyền thống yêu cầu xử lý lỗi hà khắc. Đây là lý do tại sao có hàng tỷ trang tự nhận là XHTML 1.0 và chỉ một số ít trang tự nhận là XHTML 1.1 (hoặc XHTML 2.0). Vậy bạn có thực sự đang sử dụng XHTML không? Kiểm tra loại MIME của bạn (trên thực tế, nếu bạn không biết mình đang sử dụng loại MIME nào thì tôi gần như có thể đảm bảo rằng bạn cũng đang sử dụng text/html ). Miễn là bạn không chuyển các trang của mình bằng loại MIME application/xhtml+xml , thì cái gọi là "XHTML" của bạn chỉ có tên là XML.

Tầm nhìn cạnh tranh

Vào tháng 6 năm 2004, W3C đã tổ chức một hội thảo về Ứng dụng Web và Tài liệu tổng hợp. Hội thảo này có sự tham dự của đại diện từ ba trình duyệt, một công ty phát triển web và các thành viên khác của W3C. Các nhóm bên liên quan bao gồm Mozilla Foundation và Opera Software đã vạch ra tầm nhìn cạnh tranh của họ cho tương lai của web: sự phát triển của tiêu chuẩn HTML 4 hiện tại bao gồm các khả năng mới dành cho các nhà phát triển ứng dụng web hiện đại.

Bảy nguyên tắc sau đây phản ánh những gì chúng tôi coi là yêu cầu quan trọng nhất đối với công việc này.

Tương thích ngược, Đường dẫn di chuyển rõ ràng Các công nghệ ứng dụng web phải dựa trên các công nghệ quen thuộc với tác giả và bao gồm HTML, CSS, DOM và JavaScript. Các tính năng cốt lõi của ứng dụng web ngày nay phải được thực hiện bằng cách sử dụng hành vi, tập lệnh và bảng định kiểu trong IE6 để các tác giả có lộ trình di chuyển rõ ràng. Bất kỳ giải pháp nào mà tác nhân người dùng hiện tại không thể sử dụng nếu không có các plugin cần thiết có thể không thể thành công. Xử lý lỗi về sức khỏe Việc xử lý lỗi trong ứng dụng web phải được xác định ở mức độ chi tiết trong đó tác nhân người dùng không nên phát minh ra cơ chế xử lý lỗi của riêng mình hoặc thiết kế ngược các tác nhân người dùng khác. Người dùng không được phép mắc các lỗi độc quyền. Thông số kỹ thuật phải chỉ định hành vi khôi phục chính xác cho mọi tình huống lỗi có thể xảy ra. Việc xử lý lỗi hầu hết phải được xác định theo thuật ngữ khôi phục lỗi nhẹ nhàng (như trong CSS), chứ không phải là một lỗi hiển nhiên và thảm khốc (như trong XML). Sử dụng thực tế Mỗi chức năng đi vào đặc tả của ứng dụng web phải được chứng minh bằng cách sử dụng thực tế. Điều ngược lại không phải lúc nào cũng đúng: mọi trường hợp sử dụng không nhất thiết đảm bảo một tính năng mới. Tốt nhất nên sử dụng các đối số dựa trên các trang web thực mà trước đây các tác giả đã sử dụng giải pháp kém để vượt qua giới hạn. Vẫn còn các tập lệnh nhưng nên tránh ở những nơi có thể sử dụng đánh dấu thuận tiện. Các tập lệnh phải là thiết bị và có chế độ xem trung lập càng lâu càng tốt trên các thiết bị cụ thể (ví dụ: nếu chúng không được bao gồm trong XBL). Nên tránh lập hồ sơ dành riêng cho thiết bị. Tác giả phải có thể dựa vào cùng chức năng được thực hiện trong phiên bản máy tính để bàn và thiết bị di động của cùng một tác nhân người dùng. Một quy trình mở Web rất có lợi vì nó được phát triển trong một môi trường mở. Các ứng dụng web sẽ là cốt lõi của web và nhà phát triển chúng phải cởi mở. Danh sách gửi thư, kho lưu trữ và thông số dự thảo phải được hiển thị vĩnh viễn cho công chúng.

Trong một cuộc thăm dò không chính thức, những người tham gia hội thảo đã được hỏi: “W3C có nên phát triển các phần mở rộng khai báo của HTML và CSS và nhất thiết phải mở rộng DOM để giải quyết các yêu cầu của các ứng dụng web tầm trung, trái ngược với các API phức tạp của một hệ điều hành đầy đủ không? (được đề xuất bởi Ian Hickson, Opera Software)." Cuộc bỏ phiếu là 11 thuận, 8 phản đối. Trong phần tóm tắt hội thảo, W3C đã viết: "Tại thời điểm này, W3C không có ý định cung cấp bất kỳ tài nguyên nào cho chủ đề khảo sát không chính thức của bên thứ ba: Phần mở rộng HTML và CSS cho Ứng dụng Web, ngoài các công nghệ được phát triển theo điều lệ của hội thảo hiện hành." Nhóm làm việc của W3C."

Đối mặt với quyết định này, những người đề xuất phát triển HTML và các biểu mẫu HTML chỉ có hai lựa chọn: từ bỏ hoặc tiếp tục công việc bên ngoài W3C. Họ đã chọn cái thứ hai và đăng ký tên miền whatwg.org và Nhóm làm việc WHAT ra đời vào tháng 6 năm 2004.

Nhóm làm việc gì?

Nhóm làm việc CÁI GÌ là cái quái gì vậy? Tôi sẽ để họ tự giải thích:

Nhóm làm việc WHAT là sự cộng tác tự do, không chính thức và cởi mở giữa các nhà cung cấp trình duyệt và các bên quan tâm. Nhóm nhằm mục đích phát triển các thông số kỹ thuật dựa trên HTML và các công nghệ liên quan để tạo điều kiện thuận lợi cho việc triển khai các ứng dụng web có khả năng tương tác với mục tiêu mang lại kết quả tiêu chuẩn cho tổ chức. Điều khoản này sau đó sẽ tạo thành cơ sở cho công việc mở rộng HTML chính thức trong khóa học tiêu chuẩn.

Việc thành lập diễn đàn này diễn ra sau vài tháng trao đổi thư từ riêng tư về các thông số kỹ thuật cho từng công nghệ. Trọng tâm là mở rộng các biểu mẫu HTML4 để hỗ trợ các tính năng do tác giả yêu cầu mà không phá vỡ khả năng tương thích ngược với nội dung hiện có. Nhóm này đã được tạo ra để cung cấp sự phát triển trong tương lai của các thông số kỹ thuật này và sẽ được mở hoàn toàn thông qua kho lưu trữ công cộng, danh sách gửi thư có thể truy cập được.

Cụm từ chính ở đây là “không phá vỡ khả năng tương thích ngược”. XHTML (không bao gồm lỗ hổng Phụ lục C) không tương thích ngược với HTML. Nó yêu cầu một loại MIME hoàn toàn mới, bao gồm việc xử lý lỗi hà khắc đối với bất kỳ nội dung nào được truyền bằng loại MIME đó. XForms không tương thích với các biểu mẫu HTML vì chúng chỉ có thể được sử dụng trong các tài liệu được gửi bằng loại XHTML MIME mới, điều đó có nghĩa là XForms cũng bao gồm việc xử lý lỗi hà khắc. Mọi con đường đều dẫn đến MIME.

Thay vì vứt bỏ hơn một thập kỷ đầu tư vào HTML và làm cho 99% trang web hiện có không thể sử dụng được, Nhóm làm việc WHAT đã quyết định thực hiện một cách tiếp cận khác: ghi lại các thuật toán xử lý lỗi "có thể tha thứ" mà các trình duyệt thực sự sử dụng. Các trình duyệt luôn tha thứ cho các lỗi HTML, nhưng không ai buồn viết ra chính xác họ đã làm như thế nào. NCSA Khảm có các thuật toán riêng để xử lý các trang bị hỏng và Netscape đã cố gắng kết hợp chúng. Internet Explorer sau đó cố gắng cạnh tranh với Netscape. Sau đó Opera và Firefox cố gắng cạnh tranh với Internet Explorer. Safari sau đó cố gắng cạnh tranh với Firefox. Và cứ thế, cho đến ngày nay. Trong quá trình phát triển, các nhà phát triển đã bỏ ra hàng nghìn hàng nghìn giờ cố gắng làm cho sản phẩm của họ tương thích với đối thủ cạnh tranh.

Nếu điều này nghe có vẻ như là một khối lượng công việc điên rồ thì đó là vì nó đúng như vậy. Hay đúng hơn là nó đã như vậy. Phải mất 5 năm nhưng Nhóm công tác WHAT đã ghi chép thành công cách phân tích HTML theo cách tương thích với nội dung web hiện có. Thuật toán cuối cùng không có bước nào yêu cầu HTML phải ngừng xử lý và hiển thị thông báo lỗi cho người dùng cuối.

Trong khi kỹ thuật đảo ngược đang diễn ra, Nhóm làm việc CÁI GÌ đang âm thầm làm việc trên một số công việc khác. Một trong số đó là đặc tả ban đầu sao chép Biểu mẫu web 2.0 và thêm các loại trường mới vào biểu mẫu HTML (bạn sẽ tìm hiểu thêm về Biểu mẫu web trong ). Một đặc tả dự thảo khác có tên là "Ứng dụng web 1.0", bao gồm nhiều tính năng mới như canvas để vẽ trực tiếp cũng như hỗ trợ âm thanh và video gốc mà không cần plugin.

Quay lại W3C

Trong hai năm rưỡi, W3C và Nhóm làm việc WHAT phần lớn đã phớt lờ nhau. Trong khi Nhóm làm việc WHAT tập trung vào các biểu mẫu web và các tính năng HTML mới thì Nhóm làm việc HTML của W3C lại bận rộn với XHTML phiên bản 2.0. Nhưng đến tháng 10 năm 2006, rõ ràng là Nhóm làm việc CÁI GÌ đã có động lực thực sự, trong khi XHTML 2 vẫn còn ở dạng bản nháp và chưa được triển khai trong bất kỳ trình duyệt nghiêm túc nào. Vào tháng 10 năm 2006, Tim Berners-Lee, người sáng lập W3C, tuyên bố rằng W3C sẽ hợp tác với Nhóm làm việc WHAT để phát triển HTML.

Một số điều trở nên rõ ràng sau một vài năm. Cần phải phát triển HTML dần dần. Cố gắng thu hút mọi người bằng cách truy cập XML, bao gồm các trích dẫn xung quanh các giá trị thuộc tính và dấu gạch chéo trong các thẻ và vùng tên trống, không phải tất cả đều hoạt động cùng một lúc. Công chúng khổng lồ hình thành xung quanh HTML vẫn không thay đổi, phần lớn là do các trình duyệt không phàn nàn. Một số cộng đồng lớn đã thực hiện sự thay đổi và đang tận hưởng những lợi ích của hệ thống đúng về cú pháp, nhưng không phải tất cả. Điều quan trọng là phải hỗ trợ HTML dần dần và tiếp tục hướng tới một thế giới đúng về mặt cú pháp và phát triển những nỗ lực lớn hơn trong thế giới đó.

Có kế hoạch tổ chức một nhóm HTML hoàn toàn mới. Không giống như nhóm trước, nó sẽ thực hiện song song các cải tiến gia tăng cho HTML cũng như XHTML. Nó sẽ có sự quản lý và nhân viên khác nhau. Nó sẽ hoạt động trên HTML và XHTML cùng nhau. Chúng tôi nhận được sự hỗ trợ mạnh mẽ cho nhóm này từ nhiều người mà chúng tôi đã nói đến, bao gồm cả các nhà phát triển trình duyệt.

Cũng sẽ có công việc với các biểu mẫu. Đây là một lĩnh vực phức tạp vì các Biểu mẫu HTML và XForms hiện có là một ngôn ngữ biểu mẫu. Các biểu mẫu HTML được triển khai rộng rãi và có nhiều cách triển khai và sử dụng XForms. Trong khi đó, WebForms có thể mở rộng thông minh thành các biểu mẫu HTML. Nó được lên kế hoạch để biến WebForms thành một phần mở rộng của các biểu mẫu HTML.

Một trong những điều đầu tiên Nhóm làm việc HTML W3C mới thành lập đã quyết định đổi tên "Ứng dụng web 1.0" thành "HTML5". Và vì vậy chúng tôi đi sâu vào HTML5.

Tái bút

Vào tháng 10 năm 2009, W3C đã đóng cửa Nhóm làm việc XHTML 2 và đưa ra tuyên bố giải thích quyết định:

Khi W3C công bố Nhóm làm việc về HTML và XHTML 2 vào tháng 3 năm 2007, chúng tôi đã cho biết rằng chúng tôi sẽ tiếp tục theo dõi thị trường cho XHTML 2. W3C nhận thấy một tín hiệu rõ ràng quan trọng từ cộng đồng về tương lai của HTML.

Mặc dù chúng tôi nhận thấy tầm quan trọng của Nhóm làm việc XHTML 2 trong nhiều năm qua, sau khi thảo luận với các thành viên, lãnh đạo W3C đã quyết định rằng điều lệ của Nhóm làm việc sẽ hết hạn vào cuối năm 2009 và sẽ không được gia hạn.

Những người thực hiện nó được hưởng lợi từ điều này.

Phát triển ngôn ngữ đánh dấu siêu văn bản

1. Khái niệm về ngôn ngữ đánh dấu tổng quát chuẩn SGML.

HTML là ngôn ngữ chính nhưng không phải là ngôn ngữ đánh dấu tài liệu duy nhất. Có cả giải pháp tổng quát hơn và chuyên môn cao hơn.

Trong lịch sử, định dạng phổ biến đầu tiên là SGML (Ngôn ngữ đánh dấu tổng quát tiêu chuẩn, phát âm là SGML). SGML là sự kế thừa của ngôn ngữ GML (Ngôn ngữ đánh dấu tổng quát) được IBM phát triển vào năm 1960. ngôn ngữ kim loại, nghĩa là, nó có thể được sử dụng để xác định các quy tắc xây dựng các ngôn ngữ định dạng tài liệu khác.

SGML được thiết kế để hợp tác phát triển các tài liệu máy trong các dự án lớn của chính phủ và hàng không vũ trụ. Nó được sử dụng rộng rãi trong ngành in ấn và xuất bản, nhưng sự phức tạp của nó khiến việc sử dụng hàng ngày trở nên khó khăn. Hậu duệ chính của SGML là các định dạng HTML và XML.

2. Các phiên bản của ngôn ngữ đánh dấu siêu văn bản HTML.

HTML (Ngôn ngữ đánh dấu siêu văn bản) là công cụ phổ biến nhất để tạo các trang Web hiện nay. Công nghệ HTML cho phép bạn liên kết các tài liệu có định dạng khác nhau với nhau bằng liên kết siêu văn bản (siêu liên kết hoặc liên kết). Những kết nối như vậy giữa các tài liệu đặt trên các máy chủ trên khắp thế giới cho phép hệ thống hoạt động như thể nó là một World Wide Web duy nhất... Tài liệu HTML là một tệp chứa văn bản thuần túy và các lệnh đặc biệt - thẻ. Thẻ xác định định dạng trực quan của văn bản (màu sắc và kiểu phông chữ, bố cục tiêu đề, bảng, v.v.), cũng như mối quan hệ của tài liệu HTML này với các tài nguyên khác (hình ảnh, biểu định kiểu, video, tài liệu HTML khác, v.v.) . Trong SGML, HTML và XML, các thẻ được định dạng bằng phần mở đầu (<) и закрывающей (>) dấu ngoặc nhọn theo sau là Tên thẻ, và sau đó - các lệnh chỉ định hành động của nó - thuộc tính.

HTML được phát triển bởi nhà khoa học người Anh Tim Berners-Lee vào năm 1991-1992 tại Hội đồng nghiên cứu hạt nhân châu Âu ở Geneva (Thụy Sĩ). HTML ban đầu được tạo ra như một ngôn ngữ trao đổi tài liệu khoa học kỹ thuật, phù hợp với những người không phải là chuyên gia trong lĩnh vực bố cục.

Sau đó, ngoài việc đơn giản hóa cấu trúc tài liệu, việc hỗ trợ nhiều loại liên kết siêu văn bản khác nhau đã được đưa vào HTML và các khả năng đa phương tiện sau đó đã được thêm vào ngôn ngữ. HTML ban đầu được thiết kế để cấu trúc và định dạng tài liệu mà không liên kết chúng với phần mềm hiển thị. Lý tưởng nhất là văn bản có đánh dấu HTML phải được sao chép mà không bị biến dạng về kiểu dáng và cấu trúc trên thiết bị có thiết bị kỹ thuật khác nhau (màn hình màu của máy tính tạm thời, màn hình điện thoại di động có khả năng hạn chế hoặc chương trình chuyển văn bản thành giọng nói). Tuy nhiên, việc sử dụng HTML hiện đại khác xa với mục đích ban đầu của nó. Theo thời gian, ý tưởng cốt lõi về tính độc lập nền tảng của HTML đã bị hy sinh cho các nhu cầu đồ họa và đa phương tiện hiện đại.

HTML là một ứng dụng của SGML và tuân thủ tiêu chuẩn quốc tế ISO 8879. Tiêu chuẩn hiện tại, HTML 4.01, đã tồn tại từ năm 1999. Dự thảo tiêu chuẩn ngôn ngữ thứ năm hiện đã được xuất bản. Phiên bản mới của HTML hứa hẹn sẽ bổ sung thêm nhiều phần mở rộng cho ngôn ngữ và cung cấp một hệ thống quy tắc đơn giản hơn, hợp lý hơn và thuận tiện hơn.

HTML động hoặc DHTML là một cách để tạo một trang Web tương tác. DHTML có nguồn gốc là một tập hợp các phương pháp tạo và sửa đổi động các trang Web bằng cách gọi các tập lệnh từ một tài liệu HTML. Tuy nhiên, sự phát triển của các phương pháp này đã dẫn đến việc sửa đổi hoàn toàn khái niệm về tài liệu Web và hình thành khái niệm về DOM (Mô hình đối tượng tài liệu).

DOM là giao diện lập trình độc lập với nền tảng, cho phép các chương trình và tập lệnh thao tác nội dung của tài liệu HTML và XML cũng như thay đổi cấu trúc và thiết kế của chúng.

DOM không áp đặt các hạn chế đối với cấu trúc của tài liệu. Bất kỳ tài liệu nào có cấu trúc đã biết đều có thể được biểu diễn bằng DOM dưới dạng cây nút, mỗi nút chứa một đối tượng. Các nút được kết nối bằng mối quan hệ cha-con.

Ban đầu, nhiều trình duyệt có mô hình DOM riêng, không tương thích với các trình duyệt khác. Để đảm bảo khả năng tương thích, các chuyên gia từ tập đoàn quốc tế W3C đã phân loại mô hình này thành các cấp độ, mỗi cấp độ được tạo ra thông số kỹ thuật riêng. Tất cả các thông số kỹ thuật này được kết hợp thành một nhóm chung gọi là W3C DOM.

3. Khái niệm ngôn ngữ đánh dấu mở rộng XML.

XML (Ngôn ngữ đánh dấu mở rộng; phát âm là ex-em-el) là một định dạng tập hợp các quy tắc cú pháp chung. XML nhằm mục đích lưu trữ dữ liệu có cấu trúc (thay vì các tệp cơ sở dữ liệu hiện có), trao đổi thông tin giữa các chương trình và cũng để tạo các ngôn ngữ đánh dấu chuyên biệt hơn dựa trên nó, đôi khi được gọi là từ điển. XML là một tập hợp đơn giản của ngôn ngữ SGML.

XML được tạo ra để cung cấp khả năng tương tác khi truyền dữ liệu có cấu trúc giữa các hệ thống xử lý thông tin, đặc biệt là khi truyền dữ liệu qua Internet.

XML chưa thay thế HTML. Hơn nữa, chúng ta có thể tự tin dự đoán rằng điều này sẽ không xảy ra trong tương lai gần. Lý do vừa là những nhược điểm rõ ràng của XML (kích thước tài liệu lớn, cú pháp dư thừa và các hạn chế của mô hình dữ liệu phân cấp được nhúng trong định dạng) vừa là một thực tế quan trọng thực tế ủng hộ HTML. - hầu hết các tác vụ không yêu cầu toàn bộ sức mạnh của cú pháp XML; các giải pháp HTML đơn giản và hiệu quả là đủ.