501

Not Implemented

Officiel
For øjeblikket ikke gennemført

Generel forklaring af 501-statuskoden

Denne tekstblok findes desværre kun på engelsk.

The HTTP error 501 Not Implemented occurs when a web server receives a request from a client that requests a function or feature that the server does not support or implement. The server recognises the request but cannot execute it because it does not have the necessary functions or resources. This can happen, for example, when a client uses an HTTP method that the server does not support, or when the server uses an older version of HTTP that does not support certain features available in a newer version.

A practical example of the HTTP error 501 Not Implemented would be when a web server receives a request for an HTTP method that it does not support, such as the PATCH method for updating part of a resource. If the server has not implemented this method, it will return a 501 Not Implemented error to tell the client that the request cannot be executed. Another example would be if a client sends a request for a specific version of HTTP that the server does not support, such as HTTP/2 when the server only supports HTTP/1.1. In this case, the server would return error 501 Not Implemented to tell the client that it cannot execute the request.

.

Specifikation af HTTP-statuskode 501

Statuskoden 501 Not Implemented angiver, at serveren ikke understøtter den funktionalitet, der kræves for at opfylde anmodningen. Dette er det korrekte svar, når serveren ikke kan genkende anmodningsmetoden og ikke kan understøtte den for nogen ressource. Et 501 Not Implemented-svar kan som standard anvendes i cache, dvs. medmindre andet er angivet i metodefinitionen eller eksplicitte cache-kontroller.

Kilde / citat fra: HTTP-statuskoden 501 Not Implemented er specificeret i afsnit 6.6.2 i RFC7231.

Hvordan får man en 501-statuskode med PHP?

Hvis du vil have HTTP-statuskoden 501 på en webside, kan du bruge PHP-funktionen http_response_code. Syntaksen er som følger: http_response_code(501) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test 501 HTTP-statuskoden

For at kunne vise HTTP-statuskoden (i dette tilfælde 501 Not Implemented) og andre oplysninger på klientsiden skal udviklingskonsollen åbnes med F12. Naviger derefter til fanen "Network" (netværk). Nu kan siden åbnes, hjemmesiden (eksempel index.php) skal være synlig i fanen netværk. Denne skal vælges, og derefter skal Herder-sektionen vælges. Brugeren vil derefter se følgende resultat:

Statuskode 501 Not Implemented
Oversigt
URL: https://http-statuscode.com/errorCodeExample.php?code=501
Status: 501 Not Implemented
Disse: Network
IP-adresse: XX.XX.XX.XX
Statuskode 501 Not Implemented

Hvordan løser jeg problemet med 501-statuskoden?

HTTP-statuskoden 501 Not Implemented returneres af serveren for at indikere, at den ønskede metode ikke understøttes eller ikke er implementeret. Det betyder, at serveren ikke kan behandle den specifikke anmodning, fordi den krævede funktionalitet ikke er tilgængelig. For at løse problemet med HTTP-statuskode 501 Not Implemented er der flere trin, du kan tage:

  1. Tjek den anvendte HTTP-metode: Sørg for, at den korrekte HTTP-metode bruges til anmodningen. HTTP tilbyder flere metoder såsom GET, POST, PUT, DELETE osv. Statuskoden 501 Not Implemented kan blive returneret, fordi den ønskede metode ikke understøttes af serveren. Tjek specifikationerne for serverens API eller dokumentation for at sikre, at du bruger den korrekte metode.
  2. Tjek serverkonfigurationen: Serveren kan returnere statuskode 501 Not Implemented, hvis visse funktioner eller moduler ikke er aktiveret eller konfigureret korrekt. Sørg for, at alle nødvendige moduler og funktioner er aktiveret på serveren for at behandle anmodningen korrekt. Tjek serverens konfigurationsfiler, f.eks. Apache-konfigurationsfilen (httpd.conf) eller Nginx-konfigurationsfilen (nginx.conf), for at sikre, at alt er indstillet korrekt.
  3. Opdater serversoftwaren: Nogle gange kan statuskode 501 Not Implemented opstå, hvis den anvendte serversoftware er forældet og ikke understøtter den ønskede funktionalitet. Sørg for, at du bruger den nyeste version af serversoftwaren, og at alle tilgængelige opdateringer er installeret. Dette kan løse kendte problemer og tilføje nye funktioner, der ikke tidligere var implementeret.
  4. Konsulter serverdokumentationen: Tjek den officielle dokumentation for den server eller det framework, du bruger, for oplysninger om statuskode 501 Not Implemented. Dokumentationen kan indeholde specifikke instruktioner eller hints til, hvordan du løser problemet. Se efter fejlfindingsafsnit, kendte problemer eller specifikke konfigurationsindstillinger, der skal kontrolleres.

Det er vigtigt at bemærke, at løsningen af HTTP-statuskode 501 Not Implemented-problemet afhænger meget af den specifikke serverkonfiguration, den anvendte software og typen af anmodning. Men ovenstående trin giver en generel guide til at løse problemet og finde mulige løsninger.

Sådan opretter du din egen fejlside for statuskode 501

Det er relativt nemt at oprette din egen 501 Not Implemented-fejlside med både Apache- og NGINX-webservere.

Apache Webserver

Webserveren "Apache" er en af de mest almindelige webservere på internettet. For at oprette din egen 501 Not Implemented-fejlside i "Apache" skal du foretage følgende ændring i følgende fil.

File: .htaccess
ErrorDocument 501 /errors/501.html

NGINX Webserver

I lighed med webserveren "Apache" er "NGINX" også meget udbredt på internettet. For at oprette din egen 501 Not Implemented-fejlside i "NGINX" skal du foretage følgende ændring i følgende fil.

File: sites-enabled/default
error_page 501 /501.html;
location = /501.html {
    root /usr/share/nginx/html;
    internal;
}

Browserkompatibilitet for 501-statuskoden

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Konstanter i programmeringssprog

HttpStatusCode.NotImplemented
http.StatusNotImplemented
Response::HTTP_NOT_IMPLEMENTED
httplib.NOT_IMPLEMENTED
http.client.NOT_IMPLEMENTED
http.HTTPStatus.NOT_IMPLEMENTED
:not_implemented
Forfatter: Tony Brüser
Forfatter: Tony Brüser

Tony Brüser er en entusiastisk webudvikler med en forkærlighed for HTTP-statuskoder.

LinkedInGitHub