Zakaj ena slika ne uspe, medtem ko se preostanek strani naloži
Trije pogoji ločijo omrežno napako od blokirane zahteve in od napake pri izrisu. Poiščite URL, ki ga je izbral brskalnik, preden spremenite pot.
Stran se naloži, besedilo se izriše, ena slika pa ostane zlomljena ikona. Prvi odziv je kriviti tunel, ker je tunel tisto, kar se je spremenilo. Pred tem ugotovite, kateri URL je brskalnik za to sliko v resnici zahteval, ker sta URL strani in URL slike dva različna dokaza. Večina poročil o manjkajoči sliki se konča pri gostitelju, ki ni nikoli prejel delujoče zahteve, in ta odgovor stane en pogled na ploščo Omrežje.
Trije pogoji odločajo, kje iskati
Prvi pogoj je, ali slika prihaja z istega gostitelja kot stran. Ločen gostitelj slik potrebuje lastno razreševanje imen, lastno povezavo in lastno identiteto TLS, zato stran, ki se naloži, o njem ne pove ničesar.
Drugi je, ali je brskalnik zahtevo blokiral še pred pošiljanjem. Mešana vsebina, politika varnosti vsebine in pravila referrerja lahko sliko ustavijo brez običajnega odgovora strežnika, zato se na seznamu ne pojavi nobena neuspešna zahteva.
Tretji je, ali je dostava uspela in izris ni, primer, ko bajti prispejo, slika pa se vseeno ne prikaže. Ti trije pogoji imajo tri različne lastnike in samo prvi je omrežno vprašanje.
| 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 |
Poiščite vir, ki ga je brskalnik v resnici izbral
URL, ki ga vidite v izvorni kodi strani, pogosto ni URL, ki je bil zahtevan. Nabori virov, elementi picture in ozadja CSS vsem omogočajo, da brskalnik izbere drug vir glede na širino pogleda, gostoto pikslov ali podporo formatu. Slika z lenim nalaganjem morda sploh ne bo zahtevana, dokler stran ne doseže določenega stanja.
Preverite element in zahtevo skupaj, in ko poročate o težavi, obdržite sprožilca pri zahtevi. Pregled elementa slike na MDN pokriva izbiro vira, vedenje pri nalaganju in nadzor referrerja na enem mestu, kar zadostuje za ugotovitev, kateri atribut je izbral neuspešni URL.
Zabeležite ime gostitelja, stanje, morebitno verigo preusmeritev in vrsto vsebine odgovora. Odgovor 200, ki vrne prijavno stran, ni uporabna slika, preusmeritev na stran z napako HTML pa je videti enako kot poškodovana datoteka, dokler ne preberete vrste.
Preberite stanje pred omrežjem
Časovna omejitev, zavrnjena zahteva in napaka pri dekodiranju zahtevajo različne naslednje korake, in prav koda stanja jih loči. Časovna omejitev kaže na razreševanje imen, pot ali gostitelja, ki se ne odziva. Zavrnjena zahteva kaže na politiko ali raven avtorizacije. Napaka pri dekodiranju kaže na bajte ali format.
Če se zahteva sploh ne pojavi, prenehajte gledati omrežje in poglejte označevanje. Najpogostejši vzrok je vnos v naboru virov, ki mu je brskalnik dal prednost in ki na strežniku ne obstaja več, za njim pa element, ki ga skript nikoli ni naredil vidnega.
Samo to razlikovanje prepreči večino zapravljenega dela pri tovrstnih poročilih.
Ko brskalnik blokira, ni odgovora za branje
Mešana vsebina je klasičen primer: stran HTTPS, ki zahteva sliko po navadnem HTTP, dobi zahtevo blokirano, ne neuspešno, in konzola zabeleži razlog. Politika varnosti vsebine ustvari enako obliko, blokirana direktiva pa je navedena v sporočilu. Politika referrerja, ki odstrani glavo, lahko tudi povzroči, da gostitelj, zaščiten pred hotlinkom, vrne nadomestni prikaz namesto slike.
Preberite zabeleženi razlog, preden se dotaknete omrežne poti, ker se te blokade ne izboljšajo, ko se pot spremeni. Tudi dodajanje dovoljenj med izvori ni rešitev: prikaz slike z drugega gostitelja in branje njenih pikslov v canvas sta različni operaciji in samo druga potrebuje glave, ki jih ljudje prilepijo.
Za spletno mesto, ki ga upravljate, popravite URL vira, odgovor ali politiko pri njenem lastniku in ohranite zahteve po avtorizaciji in referrerju nespremenjene. Za spletno mesto, ki ga ne nadzorujete, pošljite stran in dokaze zahteve v njegov kanal za podporo, namesto da znova objavite zasebne ali potekajoče povezave do virov.
Primerjajte poti brez spreminjanja dokazov
Če res želite preizkusiti dostopno pot, držite vse ostalo nespremenjeno: ista stran, isti račun, ista izbrana slika, ena dovoljena pot spremenjena. Primerjajte vnose zahtev drug ob drugem, ne izrisanega rezultata, ker izrisani rezultat pove, ali se je slika prikazala, ne zakaj.
Slika, ki se naloži na novi poti, ne dokazuje, da je ta pot avtorizirana, in slika, ki ostane zlomljena, ne dokazuje, da je kriv tunel. Če je bila slika odstranjena ali je dostop namenoma omejen, uporabite podprto alternativo, namesto da izklopite preverjanja potrdil ali kopirate tujo zaščiteno gradivo.
Vrstni red dela: prepoznajte izbrani URL, preberite njegovo stanje in vrsto, preverite, ali obstaja zabeležen razlog blokade, nato primerjajte eno spremembo poti naenkrat.