อะไรนะ WHATWG
กลุ่มงานเทคโนโลยีแอปพลิเคชันไฮเปอร์เท็กซ์บนเว็บ ( WHATWG ) ก่อตั้งขึ้นโดยตัวแทนจากApple Inc. , Mozilla FoundationและOpera Software ซึ่งเป็นผู้จำหน่าย เว็บเบราว์เซอร์ชั้นนำในปี 2547 [ 2 ] [ 3 ] WHATWG มีหน้าที่รับผิดชอบในการดูแลรักษามาตรฐานทางเทคนิค ที่เกี่ยวข้องกับเว็บหลายประการ รวมถึงข้อกำหนดสำหรับHyperText Markup Language (HTML) และDocument Object Model (DOM) [ 4 ] [ 5 ]สมาชิกและการควบคุมองค์กรส่วนกลางของ WHATWG – "กลุ่มคณะกรรมการบริหาร" – ประกอบด้วย Apple, Mozilla, Google และ Microsoft บรรณาธิการของ WHATWG ที่รับผิดชอบข้อกำหนดจะตรวจสอบให้แน่ใจว่ามีการนำไปใช้อย่างถูกต้อง โดยปรึกษาหารือกับผู้เข้าร่วม แต่ท้ายที่สุดแล้วต้องสอดคล้องกับวัตถุประสงค์ของสมาชิกกลุ่มคณะกรรมการบริหาร[ 6 ]
ประวัติศาสตร์
WHATWG ก่อตั้งขึ้นเพื่อตอบสนองต่อการพัฒนาที่ล่าช้าของมาตรฐานเว็บ ของ World Wide Web Consortium (W3C) และการตัดสินใจของ W3C ที่จะละทิ้ง HTML และหันมาใช้ เทคโนโลยีที่ใช้XMLแทน[ 7 ]รายชื่อผู้รับจดหมายของ WHATWG ได้รับการประกาศเมื่อวันที่ 4 มิถุนายน 2547 [ 8 ]สองวันหลังจากที่ข้อริเริ่มของเอกสารแสดงจุดยืนร่วมกันระหว่าง Opera และ Mozilla [ 9 ]ถูกสมาชิก W3C ลงมติคัดค้านในการประชุมเชิงปฏิบัติการ W3C เกี่ยวกับแอปพลิเคชันเว็บและเอกสารประกอบ[ 10 ]
เมื่อวันที่ 10 เมษายน พ.ศ. 2550 มูลนิธิ Mozilla, Apple และ Opera Software ได้เสนอ[ 11 ]ให้กลุ่มทำงาน HTML ใหม่ของ W3C นำHTML5 ของ WHATWG มา ใช้เป็นจุดเริ่มต้นของงาน และตั้งชื่อผลลัพธ์ในอนาคตว่า "HTML5" (แม้ว่าข้อกำหนดของ WHATWG จะถูกเปลี่ยนชื่อเป็นHTML Living Standard ในภายหลังก็ตาม )
เมื่อวันที่ 9 พฤษภาคม พ.ศ. 2550 กลุ่มทำงาน HTML ใหม่ของ W3C ได้ตัดสินใจที่จะทำเช่นนั้น[ 12 ]สถาปนิกแพลตฟอร์มInternet Explorer จาก Microsoftได้รับเชิญ แต่ไม่ได้เข้าร่วม โดยอ้างถึงการขาดนโยบายสิทธิบัตรที่จะรับประกันว่าข้อกำหนดทั้งหมดสามารถนำไปใช้ได้โดย ไม่ ต้องเสียค่าลิขสิทธิ์[ 13 ]ตั้งแต่นั้นมา W3C และ WHATWG ได้พัฒนา HTML อย่างอิสระ ซึ่งบางครั้งทำให้ข้อกำหนดแตกต่างกัน[ 14 ]
ในปี 2017 WHATWG ได้จัดทำ ข้อตกลงเกี่ยว กับสิทธิในทรัพย์สินทางปัญญาซึ่งรวมถึงนโยบายสิทธิบัตร[ 15 ]ซึ่งกระตุ้นให้เกิดความพยายามอีกครั้งในการอนุญาตให้ W3C และ WHATWG ทำงานร่วมกันในเรื่องข้อกำหนด ในปี 2019 W3C และ WHATWG ได้ตกลงกันในบันทึกความเข้าใจซึ่งการพัฒนาข้อกำหนด HTML และ DOM จะดำเนินการเป็นหลักใน WHATWG [ 14 ] [ 16 ]
บรรณาธิการมีอำนาจควบคุมข้อกำหนดอย่างมาก แต่ชุมชนสามารถมีอิทธิพลต่อการตัดสินใจของบรรณาธิการได้[ 17 ]ในกรณีหนึ่ง บรรณาธิการIan Hicksonเสนอให้เปลี่ยนแท็กเป็นแท็กทั่วไปมากขึ้นแต่ชุมชนไม่เห็นด้วยและการเปลี่ยนแปลงนั้นถูกยกเลิก[ 17 ]<time><data>
คณะทำงานด้านเทคโนโลยีแอปพลิเคชันไฮเปอร์เท็กซ์บนเว็บ
ในขั้นต้น ชื่อWeb Hypertext Application Technology Task Forceก็ถูกนำมาใช้เช่นกัน[ 18 ] [ 19 ] [ 20 ] [ 21 ]พร้อมกับตัวย่อต่างๆ รวมถึงWHAT Working Group [ 22 ] WHAT Task ForceและWHATTF [ 23 ] หลังจากใช้ทั้งสอง ชื่อโดเมนมาระยะหนึ่ง[ 21 ] ในที่สุดชื่อ WHATWG ก็ได้รับการกำหนดมาตรฐาน เนมสเปซ URIยังคงถูกใช้สำหรับไลบรารีประเภทข้อมูลของตัวตรวจสอบHTML [ 24 ]whattf.orgwhatwg.orghttp://whattf.org/datatype-draft
การเปลี่ยนจากการเผยแพร่ด้วย HTML ไปใช้ WHATWG
เมื่อวันที่ 28 พฤษภาคม 2019 W3C ได้ประกาศว่า WHATWG จะเป็นผู้เผยแพร่มาตรฐาน HTML และ DOM เพียงผู้เดียว[ 25 ] [ 26 ] [ 16 ] [ 27 ] W3C และ WHATWG ได้เผยแพร่มาตรฐานที่แข่งขันกันมาตั้งแต่ปี 2012 ในขณะที่มาตรฐานของ W3C เหมือนกับของ WHATWG ในปี 2007 แต่มาตรฐานทั้งสองก็เริ่มแตกต่างกันมากขึ้นเรื่อย ๆ เนื่องจากการตัดสินใจด้านการออกแบบที่แตกต่างกัน[ 28 ] "มาตรฐานที่มีชีวิต" ของ WHATWG ได้กลายเป็นมาตรฐานเว็บโดยพฤตินัยมาระยะหนึ่งแล้ว[ 29 ]
ข้อกำหนด
WHATWG เผยแพร่มาตรฐานหลายฉบับซึ่งเป็นส่วนสำคัญของแพลตฟอร์มเว็บรวมถึง:
- มาตรฐาน HTML Living Standard (บางครั้งเรียกอย่างไม่เป็นทางการว่าHTML5 [ 30 ] ) ข้อกำหนด HTML เป็นเอกสารที่มีชีวิตโดยไม่มีหมายเลขเวอร์ชันตั้งแต่ปี 2011 [ 31 ]ซึ่งรวมถึงทั้ง HTML ซึ่งเป็นภาษามาร์กอัปหลักสำหรับเว็บ และ API ที่เกี่ยวข้องจำนวนหนึ่ง
- มาตรฐาน DOM กำหนดวิธีการทำงานของ Document Object Model บนเว็บ และแทนที่มาตรฐาน DOM ระดับ 3 ของ W3C ตัวอย่างเช่น มันแทนที่เหตุการณ์การเปลี่ยนแปลง (mutation events) ด้วยตัว สังเกตการเปลี่ยนแปลง (mutation observers )
- มาตรฐาน Fetch [ 32 ]ซึ่ง "กำหนดคำขอ การตอบสนอง และกระบวนการที่เชื่อมโยงกัน: การดึงข้อมูล" มาตรฐาน fetch กำหนด API JavaScript 'fetch' และแทนที่ ฟังก์ชัน fetch ของ HTML5 , CORSและ ความหมายของส่วนหัว HTTP Origin
- มาตรฐาน Streams Standard มีAPIสำหรับสร้าง ประกอบ และใช้งานสตรีมข้อมูล สตรีมเหล่านี้ได้รับการออกแบบให้แมปกับ I/O ระดับต่ำได้อย่างมีประสิทธิภาพ และช่วยให้การประกอบทำได้ง่ายด้วยกลไกการควบคุมแรงดันและคิวในตัว นอกจากนี้ แพลตฟอร์มเว็บยังสามารถสร้างนามธรรมระดับสูงขึ้น เช่น API ระบบไฟล์หรือซ็อกเก็ต บนพื้นฐานของสตรีม ในขณะเดียวกัน ผู้ใช้สามารถใช้เครื่องมือที่ให้มาเพื่อสร้างสตรีมของตนเองซึ่งผสานรวมเข้ากับสตรีมของแพลตฟอร์มเว็บได้อย่างดี
- มาตรฐานการเข้ารหัส (Encoding Standard) กำหนดวิธีการจัดการการเข้ารหัสอักขระ เช่น Windows-1252 และ UTF-8 ในเว็บเบราว์เซอร์ และมีจุดประสงค์เพื่อแทนที่ทะเบียนการเข้ารหัสของ IETF (Integrated Internet of Things)
- มาตรฐานการตรวจสอบประเภท MIMEกำหนดวิธีการตรวจสอบประเภท MIME ในเว็บเบราว์เซอร์
- มาตรฐานURLกำหนดวิธีการแยกวิเคราะห์ URL ในเว็บเบราว์เซอร์[ 33 ]
- Web IDLใช้เพื่ออธิบายอินเทอร์เฟซที่ตั้งใจจะนำไปใช้ในเว็บเบราว์เซอร์[ 34 ]