Co to jest negocjacja treści?
Negocjacja treści to technika opisana w specyfikacji protokołu przesyłania hipertekstowego (HTTP), która pozwala zdalnemu klientowi na bardziej szczegółowe żądanie serwera WWW. Ta metoda umożliwia serwerowi przechowywanie wielu typów plików, dokumentów w różnych językach i innych, z których każdy ma różny poziom jakości. Te oddzielne wybory są hostowane jako pojedyncze odwołanie, oznaczone jego jednolitym identyfikatorem zasobu (URI), i mają na celu dostarczanie bardziej odpowiedniej zawartości, gdy jest ona dostępna na serwerze.
Gdy jednolity lokalizator zasobów (URL) to odniesienie do pliku w określonej lokalizacji, na przykład w folderze na serwerze, identyfikator URI może odwoływać się do wszystkiego, praktycznie gdziekolwiek. Szczegóły dotyczące identyfikatora URI, takie jak lokalizacja pliku, który ma zostać dostarczony, nazwa pliku i jego typ, są opracowywane po wynegocjowaniu treści. Umożliwia to umieszczanie różnych elementów w różnych lokalizacjach, takich jak wszystkie pliki dla określonego języka, zorganizowane w folderze tego języka na serwerze.
Ideą negocjacji treści jest, aby serwer WWW zapewniał najlepszą możliwą zawartość dla dowolnego klienta użytkownika lub przeglądarki internetowej. Może dostarczać określone typy plików obrazów lub inną zawartość klientom, którzy są w stanie je obsługiwać. Jest to przydatne w przypadku hostowania wielu wersji pliku w celu obsługi wielu platform przeglądania, takich jak urządzenia mobilne.
Aby to wszystko zrobić, HTTP opisuje dwie metody negocjacji treści, a także sugeruje możliwość ich połączenia. Jedną z metod są negocjacje oparte na serwerze. Dzięki tej metodzie serwer podejmuje najlepszą możliwą decyzję dotyczącą tego, co dostarczyć, na podstawie podanej logiki i dostępnej zawartości. .
Istnieją jednak pewne trudności z negocjowaniem treści na serwerze. Serwer nie wie, jak odpowiedzieć na każde możliwe żądanie, dlatego musi zgadywać na podstawie logiki, jaką podał przy podejmowaniu tych decyzji. Nie może wiedzieć, czy przeglądarka internetowa działa na urządzeniu mobilnym, czy też żądany dokument ma zostać wysłany bezpośrednio do drukarki, chyba że zostanie o tym poinformowany. Istnieją również problemy z prywatnością, polegające na tym, że metoda oparta na serwerze oczekuje od żądania wysłania informacji o użytkowniku wysyłającym żądanie.
Druga metoda znana jest jako negocjacja treści oparta na agencie. Tutaj użytkownik wysyła żądanie do serwera, a serwer odsyła listę dostępnych alternatyw, jeśli takie istnieją. Wyboru dokonuje się automatycznie, na podstawie dostępnych preferencji przeglądarki lub platformy, lub ręcznie w formie opcji przedstawionych w kodzie HTML. Podstawową wadą opcji kierowanej przez agenta jest wiele żądań do serwera w celu uzyskania najlepszej możliwej zawartości. Jednak gdy serwer proxy buforuje żądania do serwera, który korzysta z negocjacji sterowanych przez agenta, będzie w stanie dostarczyć odpowiednią treść wszystkim użytkownikom za serwerem proxy za pośrednictwem pojedynczego żądania do pamięci podręcznej.