PHP - част 14 (Cookie)
fix3d трудност:

видян:
13448
Какво е cookie ?
Както вече
знаете, Интернет се базира на Hypertext Transfer Protocol ( HTTP ), който е
протокол без запазване на състоянието. Това означава, че след транзакцията между
клиента и Web машината завърши, Web сървърът изтрива цялата информация за
транзакцията.
Нека да ви обясня тези концепции на прост език. Да
предположим, че потребител посещава комерсиален сайт, добавя три книги в
потребителската си кошница и преди да заплати книгите, преминава в друг сайт.
Трябва ли той отново да добавя трите книги в потребителската си кошница?
Отговорът е ДА, тъй като споменах по-рано, че HTTP не запазва състоянието и за
по-ранни действия. Това означава, че потребителя ще трябва отново да открие
книгите, да ги постави в потребителската си кошница и да ги плати, преди да
премине към следващия сайт. Обаче отговорът на същия въпрос мое и а е НЕ, ако
сайтът поддържа cookie. И така, какво представляват cookies ?
Cookies са
малки парчета от информация ( или съобщение, ако предпочитате ), които Web
сървърът може да съхрани чрез Web браузърът на вашият диска по
време на посещението ви на сайта. Web сървърът може да извлече тази информация
по време на следващата ви визита на същият сайт.
Когато посещавате Web
сайт, поддържащ cookes, може да ви се наложи да се регистрирате или
идентифицирате в сайта, като използвате парола и друга информация. Тази
информация се съхранява в малък текстов файл, чийто големина е 4 KB. Този файл
съдържа информация, свързана с потребителя, като потребителско име, парола,
списък със страниците, които потребителя е посетил, и датата, на която
потребителя е посетил сайта за последен път.
Да кажем че търсите книга в
известната онлайн книжарница Amazon. Това е сайт поддържащ cookies. Сега ще ви
покажа cookie, което се съхранява на диска ви:
Ubid-main
058-3955710-9452444
amazon.com/
0
2916341376
31961269
1377043424
29456181
*
x-main
hQFiTxHUFj8mCscT@Yb5z7xsVsOFQjBf
amazon.com/0
291641376
31961269
13771432424
29456181
*
session-id
058-3442978-4900108
amazon.com/
0
1257717760
29466815
2871432720
29465430
*
session-id-time
1011427200
amazon.com/
0
1257717730
26547852
41228853
* |
058-3955710-9452444
това е уникален идентификатор, който ви е бил присвоен при първото ви посещение
на сайта. Сайта също така съхранява идентификатор на сесия, в случая
058-3442978-4900108, който уникално идентифицира дадена сесия по време на
започването й. Както е показано на идентификатор,
hQFiTxHUFj8mCscT@Yb5z7xsVsOFQjBf , също се съхранява за вътрешна обработка на
сайта. Останалата част от информацията се отнася за вашият браузър.
Както
можете да видите от cookie-то, информацията в него се съхранява под формата на
име и стойност. Разгледайте следния ред.
Ubid-main
058-3955710-9452444
В горния код Ubid-main е името, а 058-3955710-9452444
е съответната стойност.
За какво служат cookies
След като
имате вече представа какво представляват бисквитките, нека да видим каква роля
играят те и как ви помагат. Нека да продължим примера, който започнахме по-рано
и в който предположихме, че сте посетили онлайн книжарница и сте добавили три
кники в потребителската си кошница. Списъкът от всички елементи, които сте
избрали, се съхранява в cookie, което е било създадено автоматично. Можете да
продължите разглеждането на сайта, след като сте добавили книги в кошницата си.
Когато сте свършили с разглеждането, ще искате да платите всички елементи които
сте избрали. Когато отворите потребителската си кошница, всичко ще бъе там.
Правите плащането и транзакцията приключва. Просто, нали ?
[*]Повечето от сайтовете, които се създават сега, използват
cookies. Тяхното използване е много популярно поради следните
причини:
[*]За определяне колко посетители посещават даден Web
сайт и колко често.
[*]За съхраняване на подробности за
потребителите.
[*]За помощ на сайтове при съхраняване на
предпочитанията на потребителите.
[*]За помощ на сайтове при
съхраняване на предпочитанията на потребителите.
[*]За
проследяване на пътя и активността на потребителя в даден Web сайт
[*]За
съхранение на елементите избрани от клиентите на сайта
Как работят
cookies ?
Cookies работят по следния начин:
[*]Когато
напишете адреса на Web сайта в браузъра си, адреса се търси, и ако се открие
успешно, заявката се изпраща към Web сървъра, съхраняващ този
сайт.
[*]Ако Web сървъра приеме заявката, Web браузъра проверява
за наличието на cookies за този сайт.
[*]Ако се открие cookie,
браузъра изпраща всички двойки име-стойност към сървъра като HTTP заявка. Освен
това се изпраща срока на валидност на cookie, ако има такова и пътят. Датата
показва, датата и часа, до който cookie ще бъде валидно. Пътят помага на Web
сървъра да асоциира различните стойности в cookie в различните страници, които
са били посетени. След като тази информация се получи от сървъра, тя се използва
вътрешно от него.
[*]Ако не се открие cookie, сървъра се уведомява
за отсъствието й. В този случай сървъра генерира нов идентификатор за клиента,
който инициира връзката и изпраща cookie, съдържаща двойки име-стойност, към Web
браузъра на клиента. След това браузъра съхранява cookie на вашата
машина.