Kodėl viena nuotrauka nepavyksta, o likusi puslapio dalis įkeliama
Trys sąlygos atskiria tinklo gedimą nuo užblokuotos užklausos ir atvaizdavimo klaidos. Raskite URL, kurį pasirinko naršyklė, prieš keisdami kelią.
Puslapis įkeliamas, tekstas atvaizduojamas, o viena nuotrauka lieka sulaužyta piktograma. Pirmoji reakcija — kaltinti tunelį, nes tunelis yra tai, kas pasikeitė. Prieš tai išsiaiškinkite, kokio URL naršyklė iš tikrųjų paprašė šiai nuotraukai, nes puslapio URL ir nuotraukos URL yra du skirtingi įrodymai. Dauguma pranešimų apie dingusią nuotrauką baigiasi prieglobos serveriu, kuris niekada negavo veikiančios užklausos, ir šis atsakymas kainuoja vieną žvilgsnį į tinklo skydelį.
Kur ieškoti, nusprendžia trys sąlygos
Pirmoji sąlyga — ar nuotrauka ateina iš to paties prieglobos serverio kaip puslapis. Atskiram nuotraukų serveriui reikia savo vardų sprendimo, savo ryšio ir savo TLS tapatybės, todėl įkeliamas puslapis apie jį nieko nesako.
Antroji — ar naršyklė užblokavo užklausą prieš ją išsiųsdama. Mišrus turinys, turinio saugos politika ir referer taisyklės gali sustabdyti nuotrauką nesukūrusios įprasto serverio atsakymo, todėl sąraše neatsiranda nepavykusios užklausos.
Trečioji — ar pristatymas pavyko, o atvaizdavimas nepavyko, atvejis, kai baitai atvyksta, o nuotrauka vis tiek nepasirodo. Šios trys sąlygos turi tris skirtingus savininkus, ir tik pirmoji yra tinklo klausimas.
| What you see | Where the fault sits |
|---|---|
| Request absent from the list | Markup, lazy loading or a policy that blocked it |
| Request failed or timed out | Resolution, route, TLS or the image host itself |
| Request returned 200, image blank | Response type, decoding or rendering |
Raskite išteklį, kurį naršyklė iš tikrųjų pasirinko
URL, kurį matote puslapio išeities kode, dažnai nėra tas URL, kurio buvo prašoma. Šaltinių rinkiniai, picture elementai ir CSS fonai leidžia naršyklei pasirinkti kitą išteklį pagal peržiūros srities plotį, pikselių tankį ar formato palaikymą. Tingiai įkeliama nuotrauka gali būti visai neprašoma, kol puslapis nepasieks tam tikros būsenos.
Tikrinkite elementą ir užklausą kartu, o pranešdami apie problemą palikite iniciatorių prie užklausos. MDN nuotraukos elemento nuoroda vienoje vietoje apima šaltinio pasirinkimą, įkėlimo elgseną ir referer valdymą, ko pakanka nustatyti, kuris atributas pasirinko nepavykusį URL.
Užsirašykite prieglobos serverio vardą, būseną, bet kokią peradresavimo grandinę ir atsakymo turinio tipą. 200 atsakymas, grąžinantis prisijungimo puslapį, nėra tinkama nuotrauka, o peradresavimas į HTML klaidos puslapį atrodo taip pat kaip sugadintas failas, kol neperskaitysite tipo.
Skaitykite būseną prieš tinklą
Skirtasis laikas, atmesta užklausa ir dekodavimo klaida reikalauja skirtingų tolesnių žingsnių, ir būtent būsenos kodas juos atskiria. Skirtasis laikas rodo į vardų sprendimą, maršrutą ar neatsakančią prieglobą. Atmesta užklausa rodo į politiką ar autorizacijos sluoksnį. Dekodavimo klaida rodo į baitus ar formatą.
Jei užklausa visai nepasirodo, nustokite žiūrėti į tinklą ir pažiūrėkite į žymėjimą. Dažniausia priežastis — šaltinių rinkinio įrašas, kuriam naršyklė teikė pirmenybę ir kurio serveryje jau nėra, o po jo eina elementas, kurio scenarijus niekada nepadarė matomo.
Vien šis atskyrimas išvengia didžiosios dalies eikvojamo darbo tokio tipo pranešimuose.
Kai naršyklė užblokuoja, atsakymo skaityti nėra
Mišrus turinys yra klasikinis atvejis: HTTPS puslapis, prašantis nuotraukos paprastu HTTP, sulaukia užklausos užblokuotos, o ne nepavykusios, ir konsolė užrašo priežastį. Turinio saugos politika sukuria tą pačią formą, o užblokuota direktyva įvardijama pranešime. Referer politika, kuri pašalina antraštę, taip pat gali priversti nuo hotlink apsaugotą prieglobą grąžinti vietos rezervą vietoj nuotraukos.
Perskaitykite užrašytą priežastį prieš liesdami tinklo kelią, nes šie blokai nepagerėja pasikeitus maršrutui. Leidimų tarp šaltinių pridėjimas taip pat nėra sprendimas: nuotraukos iš kitos prieglobos rodymas ir jos pikselių skaitymas canvas yra skirtingos operacijos, ir tik antrajai reikia antraščių, kurias žmonės įklijuoja.
Svetainėje, kurią administruojate, ištaisykite ištekliaus URL, atsakymą ar politiką pas jos savininką ir palikite autorizacijos bei referer reikalavimus nepažeistus. Svetainėje, kurios nekontroliuojate, nusiųskite puslapį ir užklausos įrodymus jos palaikymo kanalui, o ne skelbkite iš naujo privačias ar pasibaigiančias išteklių nuorodas.
Palyginkite kelius nekeisdami įrodymų
Jei tikrai norite išbandyti prieigos kelią, laikykite visa kita pastovu: tas pats puslapis, ta pati paskyra, ta pati pasirinkta nuotrauka, vienas leidžiamas kelias pakeistas. Palyginkite užklausų įrašus greta, o ne atvaizduotą rezultatą, nes atvaizduotas rezultatas pasako, ar nuotrauka pasirodė, o ne kodėl.
Nauju maršrutu įkeliama nuotrauka neįrodo, kad tas maršrutas yra autorizuotas, o sulaužyta likusi nuotrauka neįrodo, kad kaltas tunelis. Jei nuotrauka pašalinta arba prieiga sąmoningai apribota, naudokite palaikomą alternatyvą, o ne išjunkite sertifikatų patikras ar kopijuokite svetimą apsaugotą medžiagą.
Darbo tvarka: nustatykite pasirinktą URL, perskaitykite jo būseną ir tipą, patikrinkite, ar yra užrašyta blokavimo priežastis, tada palyginkite po vieną kelio pakeitimą.