Уеб сайтовете са изградени от уеб страници. Съдържанието в тези страници може да е съставено от различни типове ресурси – текст, изображения, функционалности (JS), стил (CSS) и други.
Какво означава локални или външни ресурси в сайта?
Локални ресурси
Локални ресурси в сайта се наричат тези, които се намират на същия сървър, в същия хостинг акаунт, в който се намира самата страница. Най-често локалните ресурси са текстът и картинките в сайта. Те са достъпни и се зареждат под същия домейн, който се използва за сайта.
Например картинката image.png е локален ресурс за сайта mysupersite.com, когато тя се намира на същия сървър и има адрес:
https://mysupersite.com/image.png
Външни ресурси
Външните ресурси в сайта се намират извън хостинг акаунта и се изтеглят от външен сървър, и са достъпни под различен домейн.
Извличането на външни ресурси в сайта може да се извършва по няколко начина.
1. Изтегляне на външен ресурс, още преди страницата да е генерирана (HTML кода).
Изтегляне на външни ресурси може да се извърши от самата система на сайта, например чрез PHP скрипт, който осъществява връзка с отдалечен сървър. Често това се случва за извличане на специфична информация. Тази връзка с отдалечения сървър се извършва преди да се генерира окончателният HTML код за страницата. Поради това тези връзки не може да се видят при зареждане на самата страница (окончателният HTML код) в браузъра. Изтеглянето на външни ресурси от външен сървър може да се направи например с PHP функцията “file_get_contents”.
2. Изтегляне на външен ресурс, докато страницата (HTML кода) се зарежда в браузъра.
Вторият начин, чрез който се осъществява изтегляне на външни ресурси, е докато страницата (окончателният HTML код) се зарежда в уеб браузъра. За всеки външен ресурс, нужен на страницата по време на зареждането ѝ, браузърът ще направи връзка с отдалечен сървър, за да го изтегли.
Картинката image.png е външен ресурс за сайта mysupersite.com, когато тя се намира на друг сървър и е с адрес:
https://somesite.com/image.png
По-често външните ресурси в сайта не са картинки, но JavaScript скриптове (.js) и стилови CSS файлове (.css). Външен ресурс може да е видео клип от YouTube, споделена картинка от Instagram и други.
При готовите системи като WordPress например, най-често външните ресурси в сайта се добавят от някаква добавена функционалност на инсталиран плъгин. Например скриптовете за статистики (Google Analytics) и плъгините за социално споделяне, които добавят бутони за съответните социални мрежи. С тези бутони се добавят и допълнителни външни ресурси, които след това се изтеглят по време на зареждане на страницата в браузъра.
Например когато в сайта има добавени бутони за споделяне на съдържанието, в зависимост от социалната мрежа, при проверка на зарежданите ресурси може да се видят JS скриптове:
- Facebook: https://connect.facebook.net/en_US/sdk.js
- Pinterest: https://assets.pinterest.com/js/pinit.js
- Linkedin: https://platform.linkedin.com/xdoor/scripts/in.js
- Twitter: https://platform.twitter.com/widgets.js
Какви и колко ще са външните ресурси, зависи от използвания плъгин и функционалността, която се добавя в сайта.
Проверка на ресурсите в сайта
Проверка на зарежданите ресурси в сайта често се налага при забелязано забавяне в зареждането му или при смяна на протокола за сайта към HTTPS.
Проверка за външни ресурси, които се изтеглят чрез скрипт в хостинг акаунта, може да се извърши от разработчика на системата за сайта.
Проверка на ресурсите, които се изтеглят по време на зареждане на сайта в браузъра, може да се извърши с инструмент за разработчици в браузъра или през уеб инструмент за тестване на сайта.
При проверка на ресурсите в сайта през уеб браузъра, е добре да се проверят няколко страници от него. Често в различните (типове) страници може да се зареждат различни ресурси, в зависимост от функционалностите, които се зареждат.
Проверка на ресурсите с инструмент за разработчици в уеб браузъра
В двата уеб браузъра Firefox и Chrome има вградени инструменти за разработчици: Developer Tools и DevTools.
За да проверите какви ресурси се зареждат в сайта през браузър Firefox или Chrome:
- Отворете браузъра и заредете страница от сайта в него.
- Активирайте инструмента за разработчици с бутон F12 от клавиатурата или от настройките – Firefox: Web Developer » таб Network; Chrome: DevTools » таб Network.
- Активирайте опцията Disable cache, за да не се използват кеширани ресурси в браузъра.
- За елементите от страницата маркирайте All, за да се покажат всички типове ресурси.
- Отворете таб Network и презаредете страницата с F5 или Ctrl +F5.
Firefox: Developer Tools:
Chrome: DevTools:
В списъка с ресурсите ще видите подробна информация като статуса на отговора от уеб сървъра (Status) и домейна на ресурса (Domain).
Ресурсите, за които показва домейна на сайта, са локални ресурси.
Firefox: локални ресурси:
Chrome: локални ресурси:
Ресурсите, за които се показва домейн, различен от този на сайта, са външни ресурси.
Firefox: външни ресурси:
Chrome: външни ресурси:
Когато има забавяне в зареждането на сайта, първото нещо което трябва да тествате, е да деактивирате изтеглянето на всички външни ресурси.
Проверка на ресурсите през уеб инструмент
В някои уеб инструменти за тестване и проверка на сайта също може да се видят зарежданите ресурси.
Pingdom Website Speed Test
При тестване на сайта в този уеб инструмент списък с зарежданите ресурси ще намерите в раздел “File requests”. А в раздел “Requests by domain” можете да видите по колко заявки се правят към всеки домейн (сървър).
GTmetrix
При тестване на сайта в този уеб инструмент списък с зарежданите ресурси ще намерите в таб Waterfall.
Спиране на изтеглянето на външни ресурси в сайта
Външни ресурси, които се изтеглят от PHP скрипт в сайта
Деактивиране на външните ресурси, които се изтеглят през PHP скрипт в сайта, може да се извърши с деактивиране на параметрите allow_url_fopen = Off и allow_url_include = Off в конфигурационния файл на PHP (php-fcgi.ini) за използваната PHP версия. Промяна на тези PHP настройки може да се извърши през cPanel » PHP Manager – Разширени настройки.
Външни ресурси, които се изтеглят в сайта, по време на зареждането му в браузъра
Ако сайтът използва готова система, за да се спре изтеглянето на външни ресурси, може да се наложи да деактивирате определени плъгини, модули или компоненти.
Не винаги по домейна може да се разпознае за коя функционалност или от кой плъгин се използва външният ресурс. Например ресурсът с домейн connect.facebook.net може да се предположи, че е за социалните бутони за споделяне. Но ако домейнът е непознат, може да се наложи да деактивирате плъгин по плъгин, докато уцелите точния.
🔗 Сайтът ми зарежда бавно… Защо? (част 1) | Blog
Изтеглянето на външни ресурси е една от най-често срещаните причини за забавено зареждане на сайтовете.
🔗 AWStats – статистики и данни за посещенията в сайта | Help
През инструмента AWStats в cPanel може да се види кои локални ресурси от сайта се изтеглят най-много.
🔗 HTTPS – Част от съдържанието на сайта се зарежда през несигурна връзка (HTTP) | Help
Несигурните ресурси в сайта биват блокирани в уеб браузърите, а посетителите получават нотификация, че връзката със сайта не е сигурна.