{"id":20638,"date":"2025-11-03T20:06:15","date_gmt":"2025-11-03T19:06:15","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=20638"},"modified":"2025-11-03T20:06:16","modified_gmt":"2025-11-03T19:06:16","slug":"rfc","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2025\/11\/03\/rfc\/","title":{"rendered":"RFC"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Eine einfache und geniale Methode, Dinge, Protokolle in der IT-Welt zu definieren und f\u00fcr jedermann nutzbar zu machen. Ein netter und von mir gesch\u00e4tzter Diskussionspartner namens Jon Postel rufte dieses System in die Welt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Er sagte eine Definition kann \u00fcberholt sein, aber sie bleibt immer noch bestehen. d.h. sie wird nur &#8222;veraltet&#8220; und durch eine Neuere ersetzt. Wenn man das Auto als Beispiel heranzieht, dann h\u00e4tte Herr Benz oder Herr Otto eine Beschreibung geschrieben, die im Prinzip immer noch g\u00fcltig w\u00e4re. Aber durch Beschreibungen von 6, 8, oder 12 Zylinder erneuert w\u00e4re. <br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wozu dient der RFC<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">ein RFC beschreibt einen Vorgang, ein Protokoll oder auch nur ein Verfahren wie etwas abzuwickeln ist, damit jedermann es nutzen kann und seine eigen L\u00f6sung darauf aufbauen kann. <br>Um sich etwas darunter vorstellen zu k\u00f6nnen, wieder ein Beispiel: Das E-Mail! Beim Einrichten seid ihr sicher schon auf die Begriffe POP und IMAP gesto\u00dfen. Die tauchen in allen Mailprogrammen immer wieder auf, sei es Thunderbird, K9Mail oder Evolution. Wenn ich jetzt ein neues Mail-Programm erstelle, kann ich mit dem entsprechenden RFC, es so schreiben, dass es mit allen Mailservern auf der Welt kompatibel ist. Daher ist ein RFC eine Vorgabe um mit allen im Netz kompatibel zu sein. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wer darf\/soll einen RFC schreiben?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Auch das ist leicht gesagt: Im Prinzip, jeder. <br>Man reicht diesen ein, es erfolgt eine Begutachtung. Wenn es ihn noch nicht gibt und er als gut empfunden wird, dann geht die Begutachtung los.  Dazu sollte man sich klar sein &#8222;was&#8220; man einreichen will. F\u00fcr jeden Status gibt es einen eigenen RFC, dass den Prozess definiert. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Es ist nicht so leicht, wie es aussieht.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Alle RFC sind reine Textdokumente und in Englisch. Also erkl\u00e4rende Bilder, Diagramme, Schaltungen m\u00fcssen beschrieben werden. Wenn man dann damit fertig ist,  kann man es einreichen.  Nach der anschlie\u00dfenden Begutachtung d\u00fcrfen andere Mitglieder ihren Kommentar abgeben, \u00c4nderungen vorschlagen oder was auch immer. Das alles ist mit teilweise eng definierten Fristen verbunden. <br>Also braucht man auch einige Resourcen um hier mitzuspielen.  Ich glaube nicht, dass eine einzelne Person es jemals geschafft hat einen solchen bis zum Ende zu bringen. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was habe ich davon?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Du hast einen wohldefiniertes Verhalten eines Programm\/Netwerkes\/Protokolles, das von jedem beachtet wird. Denn nur so funktioniert Internet. Eine Firma aus Redmond musste das bei einem Mailprogramm sehr schnell lernen. <br>Nehmen wir z.B. &#8222;RFC 9110 HTTP Semantics&#8220;. Er beschreibt wie HTTP funktioniert unabh\u00e4ngig ob es \u00fcber eine verschl\u00fcsselte oder unverschl\u00fcsselte Verbindung genutzt wird. Es ist auch egal. ob ein Bild, Text oder Zip transferiert wird. Diese 200 Seiten beschreiben nur diese eine Ebene.  BILD, Text etc sind einfach Daten, beschrieben in einem Feld <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gleichzeitig setzt dieser eine RFC, 10 weitere RFC auf &#8222;obsulent&#8220; und einen auf updated.  Ihr seht man muss ein bisschen was von HTTP verstehen um hier mitreden\/schreiben zu k\u00f6nnen.  <br>Auf der anderen Seite: Wer auch immer einen HTML Seite erzeugt hat , der hat sich schon mit einem GET oder POST Befehl  in Form einer  Eingabe, herumgeschlagen.  Jetzt stehen da neben GET und POST noch andere Befehle wie PUT, HEAD etc.  <br>Vielleicht ist das beim n\u00e4chsten HTML-Projekt von Vorteil? (Oder  auch nur das DELETE zu sperren?)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Das glaube ich alles nicht?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Du willst es ausprobieren, ohne Programmierung? Dazu solltest du eine Apachestandard-Installation haben. Und du brauchst das gute alte telnet-Programm <br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>telnet localhost 80<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">du bekommst dann die Meldungen <br>Trying ::1\u2026<br>Connected to localhost.<br>Escape character is &#8218;^]&#8216;.<br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GET \/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><br>und dir wird die gesamte Default-HTML-Seite des Apachen ausgegeben.  Wenn du die beiden Aus- und Eingabe analysiert entsprechen sie genau den Vorgaben des RFC. Also d\u00fcrftest du mit deinem GET und der Apache mit seinem Response es richtig gemacht haben.  Du kannst ja statt get mal &#8222;JUHU \/&#8220; ausprobieren. Du wirst eine Emp\u00f6rung vom Server in Form eines &#8222;400 Bad Request&#8220; bekommen. <br>Und auch der Errorcode 400 ist im RFC  beschrieben. (Kapitel 15.1)<br><br><br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><br><br>weitere Links<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/de.wikipedia.org\/wiki\/RFC-Editor\">https:\/\/de.wikipedia.org\/wiki\/RFC-Editor<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/de.wikipedia.org\/wiki\/Request_for_Comments\">https:\/\/de.wikipedia.org\/wiki\/Request_for_Comments<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.rfc-editor.org\/standards\">https:\/\/www.rfc-editor.org\/standards<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jon hat auch seinen eigenen pers\u00f6nlichen RFC (2368) bekommen. Hier ist der Nachruf  auf ihn.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc2468\">https:\/\/datatracker.ietf.org\/doc\/html\/rfc2468<\/a> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich hoffe, euch mit diesen paar Zeilen, ein bisschen das Grusseln in der Thematik der Standard und Best Practice genommen habe. Gleichzeitig gebe ich euch ein Werkzeug in die Hand, wo man genau definieren kann, dass sich jemand nicht an die Standards h\u00e4lt. Ob man dann  die Aussage &#8222;It&#8217;s not an error, it&#8217;s a feature&#8220; gelten l\u00e4sst, steht auf einem anderen Blatt Papier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<div class=\"pld-like-dislike-wrap pld-custom\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir\" data-post-id=\"20638\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Hoch.png\" alt=\"Gef\u00e4llt mir\" \/>\r\n            <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">2    <\/span>\r\n<\/div><div class=\"pld-dislike-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-dislike-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir nicht\" data-post-id=\"20638\" data-trigger-type=\"dislike\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Runter.png\" alt=\"Gef\u00e4llt mir nicht\" \/>\r\n            <\/a>\r\n    <span class=\"pld-dislike-count-wrap pld-count-wrap\"><\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Eine einfache und geniale Methode, Dinge, Protokolle in der IT-Welt zu definieren und f\u00fcr jedermann nutzbar zu machen. Ein netter und von mir gesch\u00e4tzter Diskussionspartner namens Jon Postel rufte dieses System in die Welt. Er sagte eine Definition kann \u00fcberholt sein, aber sie bleibt immer noch bestehen. d.h. sie wird nur &#8222;veraltet&#8220; und durch eine [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":21074,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-20638","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/20638","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=20638"}],"version-history":[{"count":9,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/20638\/revisions"}],"predecessor-version":[{"id":21075,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/20638\/revisions\/21075"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/21074"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=20638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=20638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=20638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}