Stiamo eseguendo un'API con parecchie persone che la utilizzano. A causa di un po 'di goffaggine legacy da parte mia, uno degli endpoint sta restituendo l' intestazione del tipo di contenuto errata , js
quando dovrebbe essere json
. La mia domanda è: se lo risolviamo scambiando per restituire il valore corretto, quanto male potrebbe rovinare le cose per i nostri clienti esistenti? O, per dirla in altro modo, ti aspetteresti che diverse librerie client HTTP generino errori fatali quando vedi un tale cambiamento?
Stiamo cercando di decidere se si tratta di un cambiamento che possiamo semplicemente procedere e apportare senza sudare troppo, oppure dovremmo inviare un'e-mail con attenzione a tutti gli utenti e annunciare un periodo di ammortamento pluriennale ... o qualcosa nel mezzo.
Probabilmente dipende un po 'dal tipo di client HTTP diversi in uso, quindi ho dato un'occhiata agli user agent. Risposta: molte diverse! Ecco alcuni dei migliori:
"okhttp / 3.2.0", "python-request / 2.10.0", "Ruby", "python-request / 2.7.0", "Mozilla / 5.0", "Java / 1.8.0_91", "python-request /2.4.3 "," okhttp / 3.3.0 "," Lucee "," Dalvik / 2.1.0 "," Google-HTTP-Java-Client / 1.21.0 "," PHP_appname "," NativeHost "," Java /1.7.0_67 "," Apache-HttpClient / UNAVAILABLE "," Dalvik / 1.6.0 "," Web-sniffer / 1.1.0 "," unirest-objc / 1.1 "
Varie librerie di lingue lato mobile e lato server. Principalmente non i browser che eseguono JavaScript, ma anche alcuni di quelli.
La maggior parte delle persone non sembra notare che il tipo di contenuto sia sbagliato, ma ogni tanto viene visualizzata una nuova richiesta di supporto che si lamenta di questo problema, quindi vorremmo risolverlo.