Ano, systémová komponenta reaguje na "301 Moved Permanently" jak se očekává - přesměrovává trvale. Co s tím? Ignorovat specifikaci HTTP protokolu?
"The requested resource has been assigned a new permanent URI and any future references to this resource SHOULD use one of the returned URIs. Clients with link editing capabilities ought to automatically re-link references to the Request-URI to one or more of the new references returned by the server, where possible. This response is cacheable unless indicated otherwise."
Specifikace říká "This response is cacheable unless indicated otherwise". Tedy že přesměrování může být "uloženo trvale", nikoliv že musí být uloženo trvale. Bezpečnější implementace (bez trvalé cache) tedy specifikaci nijak neodporuje.
Na druhou stranu souhlasím, že trvalá cache je logičtější a uživatelsky přítulnější. Od teď už se ale taky ví, že je nebezpečná - a to by mělo mít přednost. Nedávám Applu za vinu, že na to nepřišli sami (nikdo nemůže dopmyslet všechno), ale určitě by teď výchozí chování měli změnit.
Nepadnul tady asi jediný spolehlivý způsob jak se proti tomu bránit - kontrola SSL certifikátu. Při připojení by aplikace měla například zkontrolovat jestli je certifikát "od nás" a pokud ne, tak zamítnout komunikaci a dát o tom uživateli vědět, že se jej třeba někdo snaží na této wifině napadnout.
V tomhle je OS nevinně, je to na vývojářích aplikací.
Primárně je to určitě na aplikaci. Na druhou stranu - OS by se neměl spoléhat na to, že aplikace jsou napsané správně (nejsou), a tudíž by se měl snažit dopady špatně napsaných aplikací minimalizovat (kde to jde). A zrovna v tomhle případě OS tu chybu v aplikaci umocňuje...