Une norme est un document technique spécifiant le comportement d'une technologie. (Pour certaines technologies, il peut s'agir d'un autre type de norme technique .) C'est tout ce qu'elles sont et pourquoi elles existent: ce sont des documents et elles décrivent la technologie.
Ces documents sont rédigés par un organe directeur qui a l'autorité et la confiance nécessaires pour être en mesure de décider comment cette technologie fonctionne et pour que les gens se soucient lorsqu'ils publient un document de spécification en tant que norme. Un organe directeur pourrait produire de nombreuses normes, pour différentes technologies ou différentes versions d'une technologie. L'organe directeur pourrait également être connu en tant que responsables, auteurs, dépositaires, etc. des normes.
(Contrairement à ce que Mathew décrit, une norme n'est pas l'organe directeur ni la technologie elle-même. C'est un document décrivant la technologie, ou une version particulière de celle-ci.)
Quelques exemples de normes pour les technologies que vous avez mentionnées (et d'autres):
- La norme SOAP , maintenue par le W3C.
- La norme URI, définie dans STD66 , maintenue par l'Internet Engineering Task Force (IETF), qui travaille également sur ...
- Les spécifications HTTP 1.1 , rédigées par le groupe de travail HTTP . Ce sont des demandes de commentaires (RFC), mais précisez néanmoins comment HTTP fonctionne. Ces normes sont en fait très nouvelles , n'ayant été publiées qu'en juin 2014. HTTP 1.1 était précédemment défini dans RFC 2616 , par le groupe de travail du réseau IETF.
- Spécifications HTML, définies dans le HTML Living Standard . Il est rédigé par le Web Hypertext Application Technology Working Group (WHATWG). Le W3C republie et utilise diverses versions de cette norme, les publiant au format HTML 4 , XHTML 1.0 et HTML5 entre autres versions. Le WHATWG n'est pas content qu'ils fassent cela.
- Java a un standard, maintenu par Oracle. Ses différentes versions ont des normes différentes et vous pouvez télécharger vous - même la norme Java EE 7 .
- La spécification de langage C # 5.0 , rédigée par une équipe de Microsoft. Les versions précédentes ont leurs propres documents de spécification distincts.
HTML est un bon exemple du fait que différentes versions d'une langue auront souvent des normes différentes. Les différentes versions ont différents documents décrivant comment les différentes versions de la langue doivent être gérées.
HTTP, quant à lui, est l'un des nombreux exemples d'un passage standard entre les groupes: d'abord par le groupe de travail réseau, puis par le groupe de travail HTTP, bien que les deux groupes fassent partie de l'IETF. D'autres technologies ont évolué entre les entreprises, comme HTML (encore une fois), dont la version 2 était créée par l'IETF dans la RFC1866 .
Pourquoi existe-t-il des normes?
Ils existent pour nous donner une garantie de la façon dont les choses vont fonctionner.
La spécification HTML5 m'indique comment les différents navigateurs géreront et afficheront le balisage HTML5 que j'écris, en supposant qu'ils implémentent correctement la norme (ce qui a toujours été un problème). La norme C ++ 11 me dira des choses sur ce que le code C ++ 11 que j'écris fera ou ne fera pas.
De même, si je suis j'écris un navigateur, la norme HTML5 me dira comment je dois gérer différents éléments de balisage HTML5 afin que les gens obtiennent ce qu'ils attendent. Si j'écris un compilateur C ++ 11, la norme C ++ 11 me dira ce que je dois faire pour implémenter correctement le langage et faire fonctionner le code des gens de la manière qu'ils attendent.
Par exemple, les auteurs Microsoft C #. Vous pouvez télécharger la spécification de langage C # 5.0 . Ce document est une promesse que le code C # que vous écrivez devrait se comporter comme il est décrit dans la spécification, dans tout compilateur qui implémente réellement la spécification correctement.
( Si vous faites des choses en dehors des spécifications , vous êtes en territoire indéfini et il n'y a aucune garantie que ce qui se passera ou ne se passera pas.)
Historiquement, les normes remontent à des choses comme les filets de vis , de sorte que je peux avoir une garantie que si je commande une vis de type X, elle s'adaptera dans le trou que j'ai percé et sera interchangeable avec d'autres vis de type X.
Ce qui nous ramène à la définition du mot "standard" :
un exemple accepté ou approuvé de quelque chose par rapport auquel les autres sont jugés ou mesurés - Collins Dictionary
Une mesure de comparaison reconnue pour la valeur quantitative ou qualitative; un critère. - Le dictionnaire médical American Heritage® Stedman
c'est-à-dire la chose à laquelle vous comparez vos trucs pour vous assurer d'obtenir ce que vous attendez.