Stranica se učitava, tekst se prikazuje, a jedna slika je slomljena ikona. Prva reakcija je kriviti tunel, jer tunel je ono što se promijenilo. Prije toga otkrijte koji je URL pregledač zaista zatražio za tu sliku, jer URL stranice i URL slike su dva različita dokaza. Većina prijava o slici koja nedostaje svodi se na host koji nikada nije dobio ispravan zahtjev, a taj odgovor košta jedan pogled na panel Mreža.

Tri uslova odlučuju gdje tražiti

Prvi uslov je da li slika dolazi s istog hosta kao stranica. Odvojeni host za slike treba vlastito razrješavanje imena, vlastitu vezu i vlastiti TLS identitet, pa stranica koja se učitava ne govori ništa o njemu.

Drugi je da li je pregledač blokirao zahtjev prije slanja. Miješani sadržaj, politika sigurnosti sadržaja i pravila referrera mogu zaustaviti sliku bez uobičajenog odgovora servera, zato se u listi ne pojavljuje neuspjeli zahtjev.

Treći je da li je dostava uspjela, a prikaz nije — slučaj u kojem bajtovi stižu, a slika se ipak ne pojavljuje. Ta tri uslova imaju tri različita vlasnika, a samo je prvi mrežno pitanje.

What you seeWhere the fault sits
Request absent from the listMarkup, lazy loading or a policy that blocked it
Request failed or timed outResolution, route, TLS or the image host itself
Request returned 200, image blankResponse type, decoding or rendering

Nađite resurs koji je pregledač zaista odabrao

URL koji vidite u izvornom kodu stranice često nije URL koji je zatražen. Skupovi izvora, element picture i CSS pozadine svi dopuštaju pregledaču da odabere drugi resurs na osnovu širine prikaza, gustoće piksela ili podrške za format. Slika koja se lijeno učitava možda neće biti zatražena uopće dok stranica ne dođe u određeno stanje.

Pregledajte element i zahtjev zajedno i zadržite pokretača uz zahtjev kada prijavljujete problem. MDN-ov pregled elementa slike pokriva odabir izvora, ponašanje pri učitavanju i kontrole referrera na jednom mjestu, što je dovoljno da se vidi koji je atribut odabrao neuspjeli URL.

Zabilježite ime hosta, status, svaki lanac preusmjeravanja i tip sadržaja odgovora. Odgovor 200 koji vraća stranicu za prijavu nije upotrebljiva slika, a preusmjeravanje na HTML stranicu greške izgleda isto kao oštećena datoteka dok ne pročitate tip.

Pročitajte status prije mreže

Istek vremena, odbijeni zahtjev i greška dekodiranja traže različite sljedeće korake, a statusni kod je ono što ih razdvaja. Istek vremena upućuje na razrješavanje imena, rutu ili host koji ne odgovara. Odbijeni zahtjev upućuje na politiku ili sloj autorizacije. Greška dekodiranja upućuje na bajtove ili format.

Ako se zahtjev uopće ne pojavljuje, prestanite gledati mrežu i pogledajte označavanje. Najčešći uzrok je unos u skupu izvora koji je pregledač preferirao i koji više ne postoji na serveru, a zatim element koji skripta nikada nije učinila vidljivim.

Samo ta razlika sprječava većinu uzaludnog truda u ovoj vrsti prijava.

Kada ga pregledač blokira, nema odgovora za čitanje

Miješani sadržaj je klasičan slučaj: HTTPS stranica koja traži sliku preko običnog HTTP dobija zahtjev blokiran, a ne neuspješan, i konzola zapisuje razlog. Politika sigurnosti sadržaja daje isti oblik, s blokiranom direktivom navedenom u poruci. Politika referrera koja uklanja zaglavlje također može natjerati host zaštićen od hotlinka da vrati rezervni prikaz umjesto slike.

Pročitajte zabilježeni razlog prije nego dirate mrežnu putanju, jer ovi blokovi se ne popravljaju kada se ruta promijeni. Dodavanje dozvola između izvora također nije rješenje: prikazivanje slike s drugog hosta i čitanje njenih piksela u canvasu su različite operacije, a samo druga treba zaglavlja koja ljudi lijepe.

Za sajt kojim upravljate, ispravite URL resursa, odgovor ili politiku kod njenog vlasnika i zadržite zahtjeve za autorizaciju i referrer netaknutim. Za sajt koji ne kontrolišete, pošaljite stranicu i dokaze zahtjeva njegovom kanalu za podršku umjesto da ponovo objavljujete privatne ili istekle linkove resursa.

Uporedite putanje bez promjene dokaza

Ako ipak želite testirati putanju pristupa, držite sve ostalo konstantnim: ista stranica, isti račun, ista odabrana slika, jedna dozvoljena putanja promijenjena. Uporedite unose zahtjeva jedan uz drugi, a ne prikazani rezultat, jer prikazani rezultat kaže da li se slika pojavila, ne zašto.

Slika koja se učita na novoj ruti ne dokazuje da je ta ruta autorizovana, a slika koja ostane slomljena ne dokazuje da je tunel kriv. Ako je slika uklonjena ili je pristup namjerno ograničen, koristite podržanu alternativu umjesto isključivanja provjera certifikata ili kopiranja tuđeg zaštićenog materijala.

Redoslijed rada: prepoznajte odabrani URL, pročitajte njegov status i tip, provjerite postoji li zabilježeni razlog blokade, zatim uporedite po jednu promjenu putanje.

Povezani članci