Ho un HTTP che serve un'API che funziona in modo anonimo o con una chiave segreta in un'intestazione, in questo modo:
GET /profile?authenticationKey
Authorization: 1234567890
Voglio rifiutare qualsiasi richiesta proveniente da HTTP che utilizza un'intestazione Autorizzazione, poiché tali intestazioni verrebbero visualizzate in testo normale. Ma non sono sicuro di quale sia la risposta appropriata.
Ho preso in considerazione 400 Bad Request con una nota che spiega perché ciò che hanno fatto è stato stupido e suggerendo che hanno immediatamente invalidato la loro chiave.
Ma mi chiedo se l'aggiornamento 426 richiesto potrebbe essere migliore o peggiore. È un codice specifico per l'idea che una richiesta HTTP debba essere una richiesta HTTPS, ma leggere RFC 2817 mi fa pensare che sia stato progettato per passare a HTTPS dalla stessa porta. Posso usarlo anche in questo caso? In tal caso, devo includere anche un'intestazione Upgrade: TLS/1.0
?