do ÂściÂągnięcia > pobieranie > ebook > pdf > download

[ Pobierz całość w formacie PDF ]
.Przepisywanie adresów URL to sposób œledzenia użytkowników, którzy odwiedzajšwitrynę i majš wyłšczonš obsługę cookies.Jest on implementowany poprzezdodawanie dodatkowych informacji na końcu adresu URL, przy czym mechanizmyœledzenia sesji, którymi dysponujš serwlety, automatycznie zajmujš sięwszelkimi szczegółami.Œledzenie sesji zostanie szczegółowo opisane w rozdziale9.Warto jednak wyrobić sobie nawyk używania metody encodeURL, aby póŸniejmożna było wzbogacić witrynę o œledzenie sesji jak najmniejszym kosztem.MetodaJeœli kierujesz użytkownika do innej strony należšcej do tej samej witryny, toprzygotuj się na wypadek gdybyœ w przyszłoœci chciał korzystać ze œledzeniasesji.W tym celu zamiast wywołania:response.sendRedirect(url)użyj wywołania postaci:response.sendRedirect(response.encodeURL(url)).Czasami ten kod statusu jest używany zamiennie z kodem 301.Na przykład, gdybłędnie zażšdasz strony http://host/~użytkownik (pomijajšc znak ukoœnika nakońcu adresu), to niektóre serwery odpowiedzš kodem statusu 301 a inne, kodem302.Z technicznego punktu widzenia, przeglšdarki powinne automatycznieobsłużyć przekierowanie wyłšcznie wtedy, gdy poczštkowe żšdanie było żšdaniemGET.Więcej informacji na ten temat znajdziesz w opisie kodu statusu 307.303 (See Other — patrz inny)Kod statusu 304 (SC_SEE_OTHER) przypomina kody 301 oraz 302, z tš różnicš, żejeœli oryginalne żšdanie było żšdaniem POST, to nowy dokument (którego adreszostał podany w nagłówku odpowiedzi Location) powinien zostać pobrany przyużyciu żšdania GET.Ten kod statusu został wprowadzony w protokole HTTP 1.1.304 (Not Modified — niezmieniony)Gdy program przechowuje dokument w pamięci podręcznej, może przeprowadzićwarunkowe żšdanie posługujšc się nagłówkiem If-Modified-Since, oznaczajšcym, żedokument ma być zwrócony wyłšcznie wtedy, gdy został zmieniony po okreœlonejdacie.Kod statusu 304 (SC_NOT_MODIFIED) oznacza, że wersja dokumentuprzechowywana w pamięci podręcznej jest aktualna i to jej należy użyć.Jeœlidokument przechowywany w pamięci podręcznej nie będzie aktualny, serwerpowinien zwrócić jego aktualnš wersję wraz z kodem statusu 200.Zazwyczajserwlety nie powinne stosować tego kodu bezpoœrednio.Zamiast tego należyzaimplementować w serwlecie metodę getLastModified i pozwolić, aby domyœlnametoda service obsługiwała żšdania warunkowe na podstawie daty modyfikacji.Przykład zastosowania tej metody został przedstawiony w podrozdziale 2.8, pt.:„Przykład wykorzystania inicjalizacji serwletu i daty modyfikacji strony”.305 (Use Proxy — użyj serwera poœredniczšcego)Kod statusu 305 (SC_USE_PROXY) informuje, że żšdany dokument powinien byćpobrany przy wykorzystaniu serwera poœredniczšcego, którego adres został podanyw nagłówku odpowiedzi Location.Kod ten został wprowadzony w protokole HTTP1.1.307 (Temporary Redirect — chwilowo przekieruj)Zasady obsługi kodu 307 przez przeglšdarki niczym się nie różniš od metodobsługi kodu 302.Kod ten został dodany do protokołu HTTP 1.1, gdyż wieleprzeglšdarek po otrzymaniu odpowiedzi z kodem statusu 302 błędnie wykonywałoprzekierowanie nawet jeœli poczštkowe żšdanie było żšdanie POST.Po przesłaniutakiego żšdania przeglšdarki majš wykonywać przekierowanie wyłšcznie jeœlizwrócony kod statusu będzie miał wartoœć 303.Ten nowy kod statusu ma wyjaœnićwszelkie niejednoznacznoœci — po otrzymaniu kodu 303 należy wykonaćprzekierowanie niezależnie od tego czy poczštkowe żšdanie było żšdaniem GET czyPOST; jeœli jednak został zwrócony kod statusu 307 to przekierowanie należywykonać wyłšcznie jeœli poczštkowe żšdanie było żšdaniem GET.Notatka: Zniewiadomych powodów w interfejsie HttpServletResponse nie została zdefiniowanażadna stała odpowiadajšca kodowi statusu 307.Ten kod statusu zostałwprowadzony w protokole HTTP 1.1.NotatkaW interfejsie HttpServletResponse nie została zdefiniowana stałaSC_TEMPORARY_REDIRECT, a zatem kod statusu 307 trzeba podawać jawnie.400 (Bad Request — błędne żšdanie)Kod statusu 400 (SC_BAD_REQUEST) oznacza, że w żšdaniu nadesłanym przez klientawystšpił błšd składni.401 (Unauthorized — nieupoważniony)Kod statusu 401 (SC_UNAUTHORIZED) oznacza, że klient próbował pobrać stronęchronionš hasłem, bez poprawnego podania wymaganych informacji w nagłówkuAuthorization.Ta odpowiedŸ musi zawierać nagłówek WWW-Authenticate.Przykładzastosowania tego kodu statusu znajdziesz w podrozdziale 4.5, pt.:„Ograniczanie dostępu do stron WWW”.403 (Forbidden — zabroniony)Kod statusu 403 (SC_FORBIDDEN) oznacza, że serwer odmawia przesłania żšdanegozasobu, bez względu na informacje zwišzane z autoryzacjš użytkownika.Częstosię zdarza, że ten kod statusu jest zwracany gdy na serwerze zostanš błędnieokreœlone prawa dostępu do plików i katalogów.404 (Not Found — nie odnaleziono)Niesławny kod statusu 404 (SC_NOT_FOUND) informuje, że nie został odnalezionyzasób o podanym adresie.Wartoœć ta jest standardowš odpowiedziš oznaczajšcš„nie ma takiej strony”.Kod 404 jest tak przydatny i często stosowany, iż winterfejsie HttpServletResponse została zdefiniowana specjalna metodaupraszczajšca jego generację — sendError(komunikat).Przewaga metody sendErrornad setStatus polega na tym, iż metoda sendError automatycznie generuje stronęzawierajšcš komunikat o błędzie.Niestety Internet Explorer 5 domyœlnieignoruje strony z komunikatami o błędach przesyłane z serwera i wyœwietlawłasne odpowiedniki tych stron (nawet pomimo faktu, iż działanie takie jestsprzeczne ze specyfikacjš protokołu HTTP).Aby wyłšczyć ten domyœlny sposóbdziałania, należy wybrać z menu głównego Internet Explorera opcjeNarzędziađOpcje internetowe, przejœć na zakładkę Zaawansowane i upewnić się, żepole wyboru Pokaż przyjazne komunikaty o błędach HTTP nie jest zaznaczone [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • klimatyzatory.htw.pl