Io per 401 intendevo questo
void WebPage (EthernetClient &client){
// INIZIO DICHIARAZIONE PAGINA HTML
client.print("HTTP/1.1 401 Authorization Required\r\n");
client.print("WWW-Authenticate: Basic realm=\"mio login\"\r\n");
//client.println();
//client.println(F("HTTP/1.1 200 OK"));
//client.println(F("Content-Type: mime/type"));
client.println();
client.print(F("<html><head><title>ARDUINO Controllo Led via WEB</title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' ></head><body>"));
Queste 2 righe fanno apparire il popup di autenticazione da qualsiasi client compatibile compresi gli smartphone, se non altro questa non è visibile sulla get ed è minimamente criptata in base64, nel char c = client.read(); viene racchiuso l'user e pass codificato, resta solo confrontare la stringa che si può leggere in fase di realizzazione con l'uso di debug o online usando una decodifica base64 senza l'uso di nessuna libreria, poi ci sarebbe l'algoritmo MD5 un po' più complicato ma fattibile lo stesso la cifratura è un po' più complessa e più difficile intercettarla e decodificarla.
ciao