501

Not Implemented

Ufficiale
Attualmente non implementato

Spiegazione generale del codice di stato 501

Questo blocco di testo è purtroppo disponibile solo in inglese.

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.

.

Specifica del codice di stato HTTP 501

Il codice di stato 501 Not Implemented indica che il server non supporta la funzionalità necessaria per soddisfare la richiesta. È la risposta appropriata quando il server non riconosce il metodo di richiesta e non è in grado di supportarlo per nessuna risorsa. Una risposta 501 Not Implemented è memorizzabile nella cache per impostazione predefinita, cioè a meno che non sia indicato diversamente dalla definizione del metodo o da controlli espliciti della cache.

Fonte / Citazione da: Il codice di stato HTTP 501 Not Implemented è specificato dalla sezione 6.6.2 di RFC7231.

Come lanciare un codice di stato 501 con PHP?

Per lanciare il codice di stato HTTP 501 su una pagina web, si può usare la funzione PHP http_response_code. La sintassi è la seguente: http_response_code(501) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test del codice di stato HTTP 501

Per poter visualizzare il codice di stato HTTP (in questo caso 501 Not Implemented) e altre informazioni sul lato client, è necessario aprire la console di sviluppo con F12. Quindi navigare nella scheda "Rete". Ora la pagina può essere aperta, il sito web (ad esempio index.php) dovrebbe essere visibile nella scheda Rete. Questo deve essere selezionato e poi deve essere selezionata la sezione Herder. L'utente vedrà quindi il seguente risultato:

Codice di stato 501 Not Implemented
Panoramica
URL: https://http-statuscode.com/errorCodeExample.php?code=501
Stato: 501 Not Implemented
Quelle: Network
Indirizzo IP: XX.XX.XX.XX
Codice di stato 501 Not Implemented

Come posso risolvere il problema del codice di stato 501?

Il codice di stato HTTP 501 Not Implemented viene restituito dal server per indicare che il metodo richiesto non è supportato o non è implementato. Ciò significa che il server non può elaborare la richiesta specifica perché la funzionalità richiesta non è disponibile. Per risolvere il problema del codice di stato HTTP 501 Not Implemented, si possono seguire diversi passi:

  1. Controllare il metodo HTTP utilizzato: assicurarsi che per la richiesta venga utilizzato il metodo HTTP corretto. HTTP offre diversi metodi, come GET, POST, PUT, DELETE, ecc. Il codice di stato 501 Not Implemented può essere restituito perché il metodo richiesto non è supportato dal server. Controllare le specifiche dell'API del server o la documentazione per assicurarsi di utilizzare il metodo corretto.
  2. Verificare la configurazione del server: il server potrebbe restituire il codice di stato 501 Not Implemented se alcune funzioni o moduli non sono abilitati o configurati correttamente. Assicurarsi che tutti i moduli e le funzioni necessarie siano abilitati sul server per elaborare correttamente la richiesta. Controllare i file di configurazione del server, come il file di configurazione di Apache (httpd.conf) o il file di configurazione di Nginx (nginx.conf), per assicurarsi che tutto sia impostato correttamente.
  3. Aggiornare il software del server: a volte il codice di stato 501 Not Implemented può verificarsi se il software del server utilizzato è obsoleto e non supporta la funzionalità richiesta. Assicuratevi di utilizzare l'ultima versione del software del server e di aver installato tutti gli aggiornamenti disponibili. Questo può risolvere problemi noti e aggiungere nuove funzionalità che non erano state implementate in precedenza.
  4. Consultare la documentazione del server: controllare la documentazione ufficiale del server o del framework che si sta utilizzando per ottenere informazioni sul codice di stato 501 Not Implemented. La documentazione può contenere istruzioni specifiche o suggerimenti su come risolvere il problema. Cercate le sezioni dedicate alla risoluzione dei problemi, i problemi noti o le impostazioni di configurazione specifiche da controllare.

È importante notare che la risoluzione del problema del codice di stato HTTP 501 Not Implemented dipende molto dalla configurazione specifica del server, dal software utilizzato e dal tipo di richiesta. Tuttavia, i passi sopra descritti forniscono una guida generale per affrontare il problema e trovare possibili soluzioni.

Come creare la propria pagina di errore per il codice di stato 501

Creare la propria pagina di errore 501 Not Implemented è relativamente facile sia con il server web "Apache" che con "NGINX".

Apache Webserver

Il server web "Apache" è uno dei server web più comuni su Internet. Per creare la propria pagina di errore 501 Not Implemented in "Apache", è necessario apportare la seguente modifica al file seguente.

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

NGINX Webserver

Simile al server web "Apache", anche "NGINX" è ampiamente utilizzato su Internet. Per creare la propria pagina di errore 501 Not Implemented in "NGINX", è necessario apportare la seguente modifica al file seguente.

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

Compatibilità con i browser del codice di stato 501

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

Costanti nei linguaggi di programmazione

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

Tony Brüser è un entusiasta sviluppatore web con una predilezione per i codici di stato HTTP.

LinkedInGitHub