405

Method Not Allowed

Ufficiale Codici di sotto-stato
Il metodo utilizzato per la richiesta non è consentito

Specifica del codice di stato HTTP 405

Il codice di stato 405 Method Not Allowed indica che il metodo ricevuto nella riga di richiesta è noto al server di origine ma non è supportato dalla risorsa di destinazione. Il server di origine DEVE generare un campo di intestazione Allow in una risposta 405 Method Not Allowed contenente un elenco dei metodi attualmente supportati dalla risorsa di destinazione. Una risposta 405 Method Not Allowed è 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 405 Method Not Allowed è specificato dalla sezione 6.5.5 di RFC7231.

Come lanciare un codice di stato 405 con PHP?

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

Test del codice di stato HTTP 405

Per poter visualizzare il codice di stato HTTP (in questo caso 405 Method Not Allowed) 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 405 Method Not Allowed
Panoramica
URL: https://http-statuscode.com/errorCodeExample.php?code=405
Stato: 405 Method Not Allowed
Quelle: Network
Indirizzo IP: XX.XX.XX.XX
Codice di stato 405 Method Not Allowed

Come posso risolvere il problema del codice di stato 405?

La soluzione al problema del codice di stato HTTP 405 Method Not Allowed consiste nell'apportare le modifiche necessarie sul lato client o server. Di seguito illustrerò diversi approcci che possono aiutare a risolvere il problema:

  1. Controllare i metodi HTTP supportati: Il codice di stato 405 Method Not Allowed si verifica quando il client utilizza un metodo HTTP non supportato dal server. Assicurarsi di utilizzare il metodo corretto, ad esempio GET, POST, PUT o DELETE, a seconda dell'azione che si desidera eseguire. Controllare la documentazione dell'API o del server per determinare i metodi supportati per la risorsa in questione.
  2. Controllare l'URL: È possibile che l'URL sia formattato in modo errato o non valido, con conseguente errore 405 Method Not Allowed. Assicurarsi che l'URL sia corretto e punti alla risorsa corretta sul server.
  3. Controllare i permessi di accesso: Un errore 405 Method Not Allowed può verificarsi se il client non ha i permessi necessari per eseguire l'azione richiesta sulla risorsa. Verificare i meccanismi di controllo degli accessi sul server e assicurarsi che il client disponga delle autorizzazioni richieste.
  4. Verificare la configurazione del server: il server potrebbe essere configurato per bloccare alcuni metodi HTTP per determinate risorse. Controllare la configurazione del server per assicurarsi che il metodo desiderato sia consentito per la risorsa in questione. Se si ha accesso alla configurazione del server, è possibile modificarla di conseguenza.
  5. Controllo di firewall e proxy: è possibile che firewall o proxy limitino il traffico HTTP e causino l'errore 405 Method Not Allowed. Assicurarsi che i firewall o i proxy siano configurati correttamente e consentano i metodi HTTP richiesti per la comunicazione.
  6. Aggiornare il software utilizzato: a volte le versioni obsolete o difettose del software (come i browser web o i client API) possono causare errori. Aggiornare il software in uso all'ultima versione stabile e verificare se il problema persiste.
  7. Consultare la documentazione o l'assistenza: se nessuna delle soluzioni precedenti risolve il problema, è necessario consultare la documentazione ufficiale del server o dell'API. Lì si possono trovare informazioni specifiche o ulteriori passaggi per la risoluzione dei problemi. Se necessario, si può anche contattare il supporto tecnico del server o dell'API per ulteriore assistenza.

Nota che la soluzione all'errore 405 Method Not Allowed può dipendere dall'ambiente e dal contesto specifici.

.

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

Creare la propria pagina di errore 405 Method Not Allowed è 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 405 Method Not Allowed in "Apache", è necessario apportare la seguente modifica al file seguente.

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

NGINX Webserver

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

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

Compatibilità con i browser del codice di stato 405

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.MethodNotAllowed
http.StatusMethodNotAllowed
Response::HTTP_METHOD_NOT_ALLOWED
httplib.METHOD_NOT_ALLOWED
http.client.METHOD_NOT_ALLOWED
http.HTTPStatus.METHOD_NOT_ALLOWED
:method_not_allowed

Codici di stato secondari del codice di stato 405

I codici di stato secondari sono puramente tecnici e non devono mai essere inviati all'utente. Ad esempio, se viene lanciato il codice di stato 405.1, questo può essere registrato, ma il codice di stato 405 sarà inviato all'utente.:
405.0 Method not allowed
HTTP IIS, Non ufficiale
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