Original-URL des Artikels: https://www.golem.de/news/error-418-npm-liefert-fehler-ich-bin-eine-teekanne-und-bricht-ab-1805-134645.html    Veröffentlicht: 29.05.2018 14:36    Kurz-URL: https://glm.io/134645

Error 418

NPM liefert Fehler "Ich bin eine Teekanne" und bricht ab

Unter bestimmten Umständen lieferten die NPM-Registry ihren Nutzern den HTTP Statuscode 418 "I am a Teapot". Der zugrundeliegende Fehler für diese wenig hilfreiche Nachricht ist schnell behoben worden.

Über mehrere Stunden lieferte die Registry des Node.js-Paketdienstes NPM ihren Nutzern unter bestimmten Umständen den eigentlich als Scherz gedachten HTTP Statuscode 418 "I am a Teapot", also "Ich bin eine Teekanne". Der Dienst konnte zudem nicht wie vorgesehen genutzt werden, wie aus dem Fehlerbericht bei Github hervorgeht, bei dem sich sehr viele betroffene Nutzer zu Wort gemeldet haben. Die Probleme scheinen inzwischen behoben zu sein.

Der Erklärung zufolge ist der Fehler aufgetreten, wenn die Portnummer 443 an den Host-Header angehängt worden ist und der Zugriff auf die NPM-Registry nicht direkt, sondern über einen Proxy-Dienst erfolgte. Diese Umstände wiederum scheinen den Server-Dienst der NPM-Registry derart verwirrt zu haben, dass dieser schlicht mit dem erwähnten HTTP Statuscode 418 geantwortet hat.

Auf Grund des detaillierten Fehlerberichts und der Analyse eines Nutzers konnte der Fehler schnell behoben werden. Die genauen Ursachen, warum die NPM-Registry auf diese Art und Weise reagiert hat, ist derzeit aber nicht bekannt. Auch stellt sich die Frage, warum die Betreiber der NPM-Registry den HTTP Statuscode 418 überhaupt umgesetzt haben, denn eine sinnvolle Hilfe lässt sich damit nicht erreichen, wie der aktuelle Fall offensichtlich zeigt.

Vom Aprilscherz zum Community-Liebling

Der vor 20 Jahren als Aprilscherz eingeführte HTTP Statuscode 418 war eigentlich nie für eine ernsthafte Verwendung gedacht gewesen. Dennoch entwickelte dieser spezielle Statuscode ein Eigenleben und erfreute sich in der breiteren Entwicklercommunity offenbar großer Beliebtheit. Immerhin haben Projekte wie ASP.net, Go oder auch Node.js ihn aktiv implementiert.

Der Versuch von Mark Nottingham, dem Leiter der HTTP-Arbeitsgruppe bei der Internet Engineering Task Force (IETF), die Verwendung des Statuscodes aus den Implementierungen zu entfernen, scheiterte aber an der Community. Nottingham schlug daraufhin vor, den Statuscode offiziell zu reservieren. Durchgesetzt hat sich das aber noch nicht.  (sg)


Verwandte Artikel:
Wasm-Pack: Mozilla packt Rust-Software für NPM   
(19.04.2018, https://glm.io/133944 )
Open Source: Node.js-Foundation könnte Projektführung ändern   
(25.08.2017, https://glm.io/129683 )
Internet-Protokoll: Quic soll der neue Kick für sicheres Surfen werden   
(07.11.2016, https://glm.io/123738 )
Open Source: Node.js-Führung zerstreitet sich über Code-of-Conduct   
(22.08.2017, https://glm.io/129622 )
Node.js: Hälfte der NPM-Pakete durch schwache Passwörter verwundbar   
(23.06.2017, https://glm.io/128552 )

© 1997–2020 Golem.de, https://www.golem.de/