Właśnie skończyłem zdawać egzamin końcowy z aplikacji internetowych. Ograniczenie tego, co było raczej łatwym (aczkolwiek długotrwałym - 12 stron) egzaminem, było pytaniem nas o zakodowanie implementacji sesji, podobnej do tej wykonanej przez javax.http.HttpSession.W jaki sposób zaimplementowano HttpSession?
Nienawidzę się przyznać, to mnie zaskoczyło. Zrobiłem raczej implementację BS używając HashMap i zrobiłem trochę szaleństwa z losowym mapowaniem plików cookie na serializowaną HashMap na serwerze, ale jestem prawie pewien, że to jest fałszywe ... i teraz mam ochotę wiedzieć, jak to jest naprawdę Gotowe.
Szczególnie dla kogoś, kto intensywnie korzystał z PHP, ale z jakiegokolwiek powodu nigdy nie zadał sobie trudu, by nauczyć się magii związanej z wygodą, bardzo chciałbym dowiedzieć się więcej o podstawowych implementacjach sesji. J2EE i PHP na pewno, ale inne języki/frameworki też są świetne. Dzięki!
+1, bardzo krótkie podsumowanie. W PHP można również bardzo łatwo zaimplementować własne procedury obsługi sesji, na wypadek gdybyś chciał użyć bazy danych lub innego źródła danych sesji. Zasadniczo sesja to po prostu unikalny zestaw danych z kilkoma metodami interakcji z nią (zapisywanie, aktualizowanie, usuwanie), a dane są powiązane z użytkownikiem za pomocą małego identyfikowalnego tokena, tj. plik cookie lub parametr GET. – zombat
Warto chyba powiedzieć, że nazwy ciasteczek to odpowiednio JSESSIONID i PHPSESSIONID. Nie muszą też koniecznie być ciasteczkami. Mogą być częścią adresu URL, np. Jsessionid = lub; phpsessionid = . –
Dobrym sposobem zrozumienia strony HTTP sesji jest coś takiego jak nagłówki HTTP: https://addons.mozilla.org/en-US/firefox/addon/3829 –