W języku HTML zdefiniowano odnośnik do pliku:
<a href="cennik.pdf">cennik</a>Aby przeglądarka pobrała plik zamiast go otwierać, należy dopisać do definicji odnośnika atrybut
A. target = "_parent"
B. download
C. rel = "external"
D. rel = "next"
Atrybut download w znaczniku a służy właśnie do zasugerowania przeglądarce, że zasób wskazany w href ma zostać pobrany jako plik, a nie otwarty w bieżącej karcie. Czyli zapis może wyglądać tak: <a href="cennik.pdf" download>cennik</a>. Jest to atrybut logiczny, więc sama jego obecność już wystarcza. Można też podać nazwę pliku, pod jaką ma zostać zapisany, np. <a href="cennik.pdf" download="cennik-firmowy.pdf">pobierz cennik</a>. Moim zdaniem to jedna z prostszych, ale bardzo praktycznych funkcji HTML, szczególnie przy plikach PDF, regulaminach, cennikach, archiwach ZIP czy gotowych formularzach do pobrania. Warto pamiętać, że zachowanie może jeszcze zależeć od konfiguracji serwera, nagłówków HTTP, typu pliku i zabezpieczeń przeglądarki. Dla plików z innej domeny atrybut download bywa ograniczany ze względów bezpieczeństwa. Dobra praktyka to także jasny tekst linku, np. „Pobierz cennik PDF”, bo użytkownik od razu wie, co się stanie po kliknięciu.
W tym pytaniu łatwo pomylić atrybuty związane z odnośnikiem, bo wszystkie występują przy znaczniku a, ale każdy ma inne zadanie. Atrybut rel opisuje relację między bieżącą stroną a zasobem, do którego prowadzi link. Wartość rel="next" informuje na przykład, że wskazany dokument jest następnym elementem w jakiejś sekwencji, co może mieć znaczenie przy paginacji, dokumentacji albo dla robotów indeksujących. Nie zmienia to jednak sposobu obsługi pliku przez przeglądarkę. Podobnie rel="external" może sugerować, że link prowadzi do zasobu zewnętrznego, ale nadal nie wymusza pobierania. Z mojego doświadczenia uczniowie często zakładają, że skoro rel „opisuje link”, to pewnie steruje też jego zachowaniem, a to nie do końca tak działa. Atrybut target="_parent" dotyczy kontekstu otwierania strony, głównie ramek i iframe. Mówi przeglądarce, gdzie ma zostać otwarty dokument, ale nie mówi, czy dokument ma zostać zapisany na dysku. Do wymuszenia lub raczej zasugerowania pobrania służy download. Trzeba też kojarzyć różnicę między nawigacją a pobieraniem: target i rel opisują sposób przejścia lub relację, natomiast download wpływa na oczekiwaną akcję po kliknięciu. W praktyce poprawny link do pobrania PDF wygląda po prostu tak: <a href="cennik.pdf" download>cennik</a>.