KWALIFIKACJA PGF4 - CZERWIEC 2015

PYTANIE NR 39.
Poniżej przedstawiono fragment kodu strony internetowej. Gdy pliki strony znajdują się na lokalnym dysku komputera PC, obrazek obraz01.jpg jest wyświetlany, natomiast po załadowaniu plików na zewnętrzny serwer – już nie. Co jest tego przyczyną?
<div class = “grafika">
<img alt = “widok ogólny" src = “obrazki\obraz01.jpg" />
</div>
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W atrybucie src użyto znaku "\", który bywa akceptowany w ścieżkach Windows, ale w adresach URL na serwerze poprawnym separatorem katalogów jest "/". Po wgraniu na serwer przeglądarka nie odnajduje zasobu. Znacznik <img> może być pusty, a kolejność atrybutów nie wpływa na wyświetlenie.

Pełne wyjaśnienie:

Przyczyną problemu jest sposób zapisu ścieżki w atrybucie src. W kodzie użyto backslasha "\" (np. obrazki\obraz01.jpg), który jest typowym separatorem katalogów w systemie Windows. Jednak przeglądarka, pobierając zasoby z serwera WWW, interpretuje wartość src jako adres URL, a w ścieżkach URL standardowo stosuje się ukośnik "/".

Dlatego po publikacji na serwerze odwołanie zapisane z "\" może zostać zinterpretowane niepoprawnie, co skutkuje brakiem znalezienia pliku i niewyświetleniem obrazka (często objawia się to błędem pobrania zasobu w narzędziach deweloperskich przeglądarki).

Pozostałe propozycje nie tłumaczą sytuacji:

  • "To, że znacznik <img> nie został zamknięty" – w HTML element <img> jest elementem pustym (void element), więc nie ma osobnego znacznika zamykającego; zapis z "/>" jest dopuszczalny, ale nie jest wymagany.
  • "Niewłaściwa kolejność atrybutów" – kolejność atrybutów (np. alt i src) nie decyduje o działaniu; przeglądarka rozpoznaje atrybuty po nazwach.
  • "Ujęcie <img> w <div>" – umieszczenie obrazka wewnątrz kontenera <div> jest normalną praktyką (np. do stylowania CSS) i samo w sobie nie blokuje wyświetlania grafiki.

W praktyce, aby uniknąć błędów po wdrożeniu, warto: stosować "/" w ścieżkach URL, pilnować poprawnej struktury katalogów na serwerze oraz sprawdzać zakładkę Network/konsolę w przeglądarce, gdy zasób się nie ładuje.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Najczęściej różni się sposób interpretacji ścieżek. Lokalnie system Windows toleruje zapis z "\", ale na serwerze przeglądarka używa adresów URL, gdzie standardowo separator katalogów to "/". Błędny zapis w src powoduje, że zasób nie zostaje znaleziony.
Wartość src traktuj jak URL: używaj ukośników "/", np. obrazki/obraz01.jpg. Możesz stosować ścieżki względne (od katalogu pliku HTML) albo bezwzględne (od katalogu głównego serwera), ale zapis powinien być zgodny z zasadami URL.
W praktyce tak: backslash "\" jest typowy dla ścieżek w Windows, ale nie jest standardowym separatorem w URL. Przeglądarki i serwery mogą go interpretować różnie, co prowadzi do braku zasobu. Bezpieczna zasada na egzamin i w pracy: w URL zawsze używaj "/".
Nie. <img> jest elementem pustym (nie ma treści), więc nie stosuje się osobnego </img>. W HTML można zapisać <img ...>, a forma <img ... /> bywa spotykana, ale brak "zamknięcia" nie jest przyczyną niewyświetlania obrazka.
Kolejność atrybutów (np. najpierw alt, potem src) nie wpływa na działanie. Przeglądarka odczytuje atrybuty po nazwach. Istotne jest, aby nazwy były poprawne i aby wartości (np. ścieżka w src) wskazywały na istniejący plik.
Użyj narzędzi deweloperskich przeglądarki (F12). W zakładce Network zobaczysz żądanie obrazka i ewentualny błąd (np. 404). W konsoli często pojawia się komunikat o nieudanym wczytaniu zasobu. To najszybszy sposób diagnozy ścieżki w src.
Ścieżka względna wskazuje plik względem lokalizacji dokumentu HTML. Jeśli plik HTML jest w katalogu głównym, a grafika w folderze obrazki, to wpis obrazki/obraz01.jpg oznacza "wejdź do katalogu obrazki i pobierz plik". Błędny separator lub zła nazwa folderu da brak zasobu.
Najczęstsze problemy to: użycie "\" zamiast "/" w URL, różnice w wielkości liter w nazwach plików (na wielu serwerach ma to znaczenie), wgranie plików do innego katalogu niż zakłada kod, oraz literówki w nazwie pliku. Warto też sprawdzić, czy plik faktycznie istnieje na hostingu.
Samo umieszczenie <img> w <div> nie blokuje wyświetlania. Problemy mogą wynikać dopiero ze stylów CSS (np. display:none, zerowy rozmiar, ukrycie overflow) albo z błędnej ścieżki w src. W omawianym typie zadania kluczowe jest poprawne odwołanie do pliku.
Ćwicz rozróżnianie: ścieżki Windows vs URL, ścieżki względne vs bezwzględne oraz wpływ wielkości liter w nazwach plików. Rób krótkie testy: przenieś projekt do innego folderu/na serwer testowy i obserwuj, co się psuje. To utrwala nawyk sprawdzania src i struktury katalogów.
info

To pytanie poprawnie rozwiązuje 69% zdających egzamin. średnie

Według specjalistów z branży: "W atrybucie src użyto znaku "\", który bywa akceptowany w ścieżkach Windows, ale w adresach URL na serwerze poprawnym separatorem katalogów jest "/"."

Źródła:

  • MDN Web Docs: "&lt;img&gt;: The Image Embed element" (sekcja o atrybucie src), https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img - accessed 2026-03-01
  • WHATWG HTML Living Standard: "The img element" (definicja elementu pustego/void i atrybutów), https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element - accessed 2026-03-01
  • RFC 3986: "Uniform Resource Identifier (URI): Generic Syntax" (składnia ścieżki w URI/URL i użycie "/"), https://www.rfc-editor.org/rfc/rfc3986 - accessed 2026-03-01

Materiały:

  • Dokumentacja MDN: element &lt;img&gt; i atrybut src
  • Podstawy URL/URI i składnia ścieżek w adresach internetowych
  • Kurs HTML dla początkujących (sekcja o zasobach i ścieżkach względnych)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego