რატომ ვერ იტვირთება ერთი სურათი, სანამ დანარჩენი გვერდი იტვირთება
სამი პირობა გამოყოფს ქსელის ხარვეზს დაბლოკილი მოთხოვნისა და რენდერის შეცდომისგან. იპოვეთ URL, რომელიც ბრაუზერმა აირჩია, სანამ ბილიკს შეცვლით.
გვერდი იტვირთება, ტექსტი რენდერდება და ერთი სურათი გატეხილ ხატულად რჩება. პირველი რეაქცია გვირაბის დადანაშაულებაა, რადგან გვირაბია ის, რაც შეიცვალა. მანამდე გაარკვიეთ, რომელი URL მოითხოვა ბრაუზერმა სინამდვილეში ამ სურათისთვის, რადგან გვერდის URL და სურათის URL ორი განსხვავებული მტკიცებულებაა. დაკარგული სურათის შესახებ შეტყობინებების უმეტესობა მიდის ჰოსტთან, რომელმაც არასდროს მიიღო მუშა მოთხოვნა, და ეს პასუხი ერთი შეხედვა ღირს ქსელის პანელზე.
სამი პირობა განსაზღვრავს, სად უნდა ვეძებოთ
პირველი პირობაა, მოდის თუ არა სურათი იმავე ჰოსტიდან, საიდანაც გვერდი. ცალკე სურათების ჰოსტს სჭირდება საკუთარი სახელების გადაწყვეტა, საკუთარი კავშირი და საკუთარი TLS იდენტობა, ამიტომ ჩატვირთული გვერდი მის შესახებ არაფერს ამბობს.
მეორეა, დაბლოკა თუ არა ბრაუზერმა მოთხოვნა გაგზავნამდე. შერეული შიგთავსი, შიგთავსის უსაფრთხოების პოლიტიკა და რეფერერის წესები შეიძლება შეაჩეროს სურათი ჩვეულებრივი სერვერის პასუხის გარეშე, ამიტომ სიაში ვერ ჩანს ვერც ერთი წარუმატებელი მოთხოვნა.
მესამეა, წარმატებული იყო თუ არა მიწოდება და ჩავარდა რენდერი, შემთხვევა, როცა ბაიტები მოდის და სურათი მაინც არ ჩნდება. ამ სამ პირობას სამი განსხვავებული მფლობელი ჰყავს, და მხოლოდ პირველია ქსელის საკითხი.
| 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 |
იპოვეთ რესურსი, რომელიც ბრაუზერმა სინამდვილეში აირჩია
URL, რომელსაც გვერდის წყაროში ხედავთ, ხშირად არ არის ის URL, რომელიც მოითხოვეს. წყაროების ნაკრებები, picture ელემენტები და CSS-ის ფონები ბრაუზერს საშუალებას აძლევს აირჩიოს სხვა რესურსი ხედის სიგანის, პიქსელის სიმკვრივის ან ფორმატის მხარდაჭერის მიხედვით. ზარმაცად ჩატვირთული სურათი შეიძლება საერთოდ არ მოითხოვონ, სანამ გვერდი გარკვეულ მდგომარეობას არ მიაღწევს.
შეამოწმეთ ელემენტი და მოთხოვნა ერთად, და პრობლემის შეტყობინებისას დამწყებო მოთხოვნასთან ერთად შეინახეთ. MDN-ის სურათის ელემენტის ცნობარი ერთ ადგილას მოიცავს წყაროს არჩევას, ჩატვირთვის ქცევას და რეფერერის კონტროლს, რაც საკმარისია იმის გასარკვევად, რომელმა ატრიბუტმა აირჩია წარუმატებელი URL.
ჩაწერეთ ჰოსტის სახელი, სტატუსი, ნებისმიერი გადამისამართების ჯაჭვი და პასუხის შიგთავსის ტიპი. 200 პასუხი, რომელიც შესვლის გვერდს აბრუნებს, გამოსადეგი სურათი არ არის, და HTML შეცდომის გვერდზე გადამისამართება დაზიანებული ფაილის იდენტურად გამოიყურება, სანამ ტიპს წაიკითხავთ.
სტატუსს ქსელზე ადრე წაიკითხეთ
დროის ამოწურვა, უარყოფილი მოთხოვნა და დეკოდირების შეცდომა სხვადასხვა შემდეგ ნაბიჯს მოითხოვს, და სტატუსის კოდია ის, რაც მათ ჰყოფს. დროის ამოწურვა მიუთითებს სახელების გადაწყვეტაზე, მარშრუტზე ან ჰოსტზე, რომელიც არ პასუხობს. უარყოფილი მოთხოვნა მიუთითებს პოლიტიკაზე ან ავტორიზაციის ფენაზე. დეკოდირების შეცდომა მიუთითებს ბაიტებზე ან ფორმატზე.
თუ მოთხოვნა საერთოდ არ ჩანს, შეწყვიტეთ ქსელზე ყურება და შეხედეთ მარკირებას. ყველაზე გავრცელებული მიზეზია წყაროების ნაკრებში ჩანაწერი, რომელიც ბრაუზერმა ამჯობინა და რომელიც სერვერზე აღარ არსებობს, და მის შემდეგ ელემენტი, რომელიც სკრიპტმა არასდროს გახადა ხილული.
მხოლოდ ეს გარჩევა ხელს უშლის ამ ტიპის შეტყობინებებში დახარჯული შრომის უმეტეს ნაწილს.
როცა ბრაუზერი ბლოკავს, წასაკითხი პასუხი არ არსებობს
შერეული შიგთავსი კლასიკური შემთხვევაა: HTTPS გვერდი, რომელიც სურათს ჩვეულებრივი HTTP-ით ითხოვს, იღებს მოთხოვნას დაბლოკილს და არა წარუმატებელს, და კონსოლი იწერს მიზეზს. შიგთავსის უსაფრთხოების პოლიტიკა იმავე ფორმას იძლევა, დაბლოკილი დირექტივის შეტყობინებაში დასახელებით. რეფერერის პოლიტიკამ, რომელიც თავსართს აშორებს, შეიძლება ჰოთლინკისგან დაცულ ჰოსტს აიძულოს სურათის ნაცვლად დროებითი ჩამნაცვლებელი დააბრუნოს.
წაიკითხეთ ჩაწერილი მიზეზი, სანამ ქსელის ბილიკს შეეხებით, რადგან ეს ბლოკები არ უმჯობესდება მარშრუტის შეცვლისას. წყაროებს შორის ნებართვების დამატება არც ეს არის გადაწყვეტა: სხვა ჰოსტიდან სურათის ჩვენება და მისი პიქსელების canvas-ში კითხვა სხვადასხვა ოპერაციაა, და მხოლოდ მეორეს სჭირდება ის თავსართები, რომლებსაც ადამიანები აკრავენ.
თქვენ მიერ ადმინისტრირებული საიტისთვის შეასწორეთ რესურსის URL, პასუხი ან პოლიტიკა მის მფლობელთან და ხელუხლებლად შეინახეთ ავტორიზაციისა და რეფერერის მოთხოვნები. საიტისთვის, რომელსაც არ აკონტროლებთ, გაუგზავნეთ გვერდი და მოთხოვნის მტკიცებულებები მისი მხარდაჭერის არხს, კერძო ან ვადაგასული რესურსების ბმულების ხელახლა გამოქვეყნების ნაცვლად.
შეადარეთ ბილიკები მტკიცებულებების შეუცვლელად
თუ ნამდვილად გსურთ წვდომის ბილიკის გამოცდა, დანარჩენი ყველაფერი მუდმივი შეინახეთ: იგივე გვერდი, იგივე ანგარიში, იგივე არჩეული სურათი, ერთი დაშვებული ბილიკი შეცვლილი. შეადარეთ მოთხოვნის ჩანაწერები გვერდიგვერდ და არა რენდერის შედეგი, რადგან რენდერის შედეგი ამბობს, გამოჩნდა თუ არა სურათი, და არა რატომ.
ახალ მარშრუტზე ჩატვირთული სურათი არ ამტკიცებს, რომ ეს მარშრუტი ავტორიზებულია, და გატეხილად დარჩენილი სურათი არ ამტკიცებს, რომ გვირაბია დამნაშავე. თუ სურათი წაიშალა ან წვდომა განზრახ შეზღუდულია, გამოიყენეთ მხარდაჭერილი ალტერნატივა სერტიფიკატების შემოწმების გამორთვის ან სხვისი დაცული მასალის კოპირების ნაცვლად.
მუშაობის რიგი: ამოიცანით არჩეული URL, წაიკითხეთ მისი სტატუსი და ტიპი, შეამოწმეთ ჩაწერილი დაბლოკვის მიზეზი, შემდეგ შეადარეთ ერთი ბილიკის ცვლილება ერთდროულად.