Стандарт - це технічний документ, який визначає, як поводиться технологія. (Для деяких технологій це може бути якийсь інший технічний стандарт .) Це все, що вони є, і чому вони існують: це документи, і вони описують технологію.
Ці документи є органом управління, який має повноваження та довіру, необхідні для того, щоб вони могли вирішити, як працює ця технологія, і щоб люди піклувалися, коли вони випускають специфікаційний документ як стандарт. Керівний орган може випускати багато стандартів для різних технологій або різних версій технології. Орган управління також може бути відомий як дотримувачі, автори, зберігачі тощо.
(На відміну від того, що описує Метью, стандарт - це не керівний орган, ані сама технологія. Це документ, що описує технологію, або певну її версію.)
Деякі приклади стандартів для згаданих вами технологій (та інших):
- Стандарт SOAP , що підтримується W3C.
- Стандарт URI, визначений в STD66 , підтримується Інженерною робочою групою (IETF), яка також працює над ...
- У HTTP 1.1 специфікації , авторство Робочої групи HTTP . Це Запити на коментар (RFC), але, тим не менш, вказують, як працює HTTP. Ці стандарти насправді є дуже новими , вони були випущені лише у червні 2014 року. HTTP 1.1 раніше був визначений у RFC 2616 робочою групою IETF Network.
- Специфікації HTML, визначені у стандарті HTML Living . Його автор працює Робочою групою з технологій веб-гіперпертексту (WHATWG). W3C публікує та роздрібнює різні версії цього стандарту, випускаючи їх як HTML 4 , XHTML 1.0 та HTML5 серед інших версій. WHATWG незадоволений тим, що вони роблять це.
- У Java є стандарт, який підтримується Oracle. Різні його версії мають різні стандарти, і ви можете завантажити стандарт Java EE 7 самостійно.
- Специфікація мови C # 5.0 , автором якої є команда Microsoft. Попередні версії мають свої окремі специфікаційні документи.
HTML - хороший приклад того, що різні версії мови часто мають різні стандарти. Різні версії мають різні документи, що описують, як слід обробляти різні версії мови.
Тим часом HTTP є одним із численних прикладів стандартного переміщення між групами: спочатку Мережевою робочою групою, потім робочою групою HTTP, хоча обидві групи були частиною IETF. Інші технології перейшли між компаніями, такими як HTML (знову ж таки), версія 2 якої є автором IETF в RFC1866 .
Чому існують стандарти?
Вони існують, щоб дати нам гарантію того, як все буде працювати.
Специфікація HTML5 повідомляє мені, як різні браузери будуть обробляти та відображати розмітку HTML5, яку я записую, припускаючи, що вони правильно реалізують стандарт (що історично було проблемою). Стандарт C ++ 11 розповість мені про те, які різні C ++ 11 коди, які я пишу, робитимуть чи не робитимуть.
Так само, якщо я пишу браузер, стандарт HTML5 підкаже мені, як мені потрібно обробляти різні фрагменти розмітки HTML5, щоб люди отримували те, що очікують. Якщо я пишу компілятор C ++ 11, стандарт C ++ 11 підкаже мені, що мені потрібно зробити, щоб правильно реалізувати мову та змусити код людей працювати так, як вони очікують, що він працює.
Наприклад, автори Microsoft C #. Ви можете завантажити C # Language Specification 5.0 для себе. Цей документ є обіцянням, що C # код, який ви пишете, повинен вести себе так, як це описано в специфікації, у будь-якому компіляторі, який фактично реалізує специфікацію правильно.
( Якщо ви робите речі поза специфікацією , ви перебуваєте на невизначеній території, і жодних гарантій щодо того, що буде чи не станеться, немає.)
Історично склалося, що стандарти відносяться до таких речей, як гвинтові нитки , так що я можу мати певну гарантію, що якщо я замовляю гвинт типу X, він поміститься у отвір, який я просвердлив, і буде взаємозамінним з іншими гвинтами типу X.
Що повертає нас до визначення слова "стандарт" :
прийнятий або затверджений приклад того, проти чого судять чи вимірюють інші - Словник Коллінза
Визнаний показник порівняння за кількісною чи якісною цінністю; критерій. - Медичний словник американської спадщини® Стедмана
тобто те, з чим ви порівнюєте свої речі, щоб переконатися, що ви отримаєте те, що очікуєте.