CodeGym /Kurso sa Java /Modyul 3 /Bahagi 2 ng Mga Header ng HTTP

Bahagi 2 ng Mga Header ng HTTP

Modyul 3
Antas , Aral
Available

7.1 Keep-Alive na header

At ilang mas kapaki-pakinabang na mga pamagat. Ang Keep-Alive header ay nagsasabi sa server na panatilihing bukas ang koneksyon: hindi agad isasara ng server ang koneksyon pagkatapos ipadala ang tugon. Ito ay magiging sanhi ng susunod na kahilingan mula sa parehong kliyente sa server upang makumpleto nang mas mabilis.

Isang halimbawa ng naturang header:

Connection: Keep-Alive

Ngunit kung ang lahat ng mga kliyente ay nangangailangan ng isang permanenteng koneksyon, ang mga problema ay magsisimula sa server. Ang server ay maaaring hindi magagamit o magsisimulang magsara ng mga koneksyon nang mag-isa.

7.2 Header ng Cache-Control

Ang Cache-Control header ay maaaring gamitin upang kontrolin ang pag-cache ng nilalaman. Ang wastong na-configure na pag-cache ay nagpapabilis ng trabaho sa nilalaman, ang baluktot na na-configure na pag-cache ay lumilikha ng mga problema nang hindi inaasahan.

Upang huwag paganahin ang pag-cache, kailangan mong isulat ang sumusunod na header:

Cache-Control: no-cache, no-store, must-revalidate

Walang dapat na nakaimbak sa cache - hindi mula sa mga kahilingan ng kliyente, o mula sa mga tugon ng server. Ang kahilingan ay palaging ipinadala sa server, ang tugon ay palaging ganap na na-download.

Maaari mo ring paganahin ang pinaka-primitive at maaasahang uri ng caching :

Cache-Control: no-cache

Bago magbigay ng kopya, itatanong ng cache ang pinanggalingang server upang makita kung napapanahon ang mapagkukunan.

Maaari mong tukuyin ang oras ng cache ng mapagkukunan sa mga segundo . Magiging ganito ang heading:

Cache-Control: max-age=31536000

Tinutukoy ng header na ito ang maximum na oras ng cache para sa nilalaman.

Maaari kang magbasa nang higit pa tungkol sa pag-cache dito.

7.3 Mga cookies

Ang server ay maaaring mag-imbak ng data sa panig ng kliyente . Ang nasabing data ay tinatawag na cookie . Gayunpaman, maaari ding iimbak ng kliyente ang cookie. Malaking tulong ang mga ito sa magkabilang panig.

Halimbawa, pumunta ka sa site, at awtorisado ka na dito. Iyon ay, noong nag-log in ka sa huling pagkakataon, inutusan ng server ang browser na mag-imbak ng impormasyon tungkol sa matagumpay na pag-login ng isang partikular na user.

Narito ang hitsura ng Cookie sa isang kahilingan:

Cookie: name=value;name2=value2;nameN=valueN00

Ang cookies ay karaniwang iniimbak ng browser at sila ay nakatali sa isang partikular na domain . Kapag binisita mong muli ang parehong domain, awtomatikong idaragdag ang cookies sa kahilingan sa http at tugon sa http. Ang server/domain ay hindi makakatanggap ng cookies na iniimbak sa browser ng isa pang server/domain.

Ang bawat cookie ay may 4 na pangunahing parameter:

  • Pangalan;
  • kahulugan;
  • panahon ng bisa (gaano katagal iimbak ang mga ito);
  • ang domain kung saan nakatali ang cookie.

Ang mga cookies ay iniimbak at ipinapadala sa anyo ng teksto, kaya ang parehong pangalan at halaga ay mga string. Kung hindi tinukoy ang oras ng pag-expire ng cookie, sisirain ang mga ito pagkatapos isara ang browser.

7.4 na sesyon

Pagkatapos mag-log in ang user sa site, sinasabi nila na ang isang session ay naitatag sa pagitan ng site at ng server.

Lumilikha ang server ng isang espesyal na bagay sa sarili nito - HttpSession,kung saan iniimbak nito ang lahat ng kinakailangang impormasyon upang gumana sa isang awtorisadong kliyente. At ang natatanging bilang ng bagay na ito ay naka-imbak sa browser sa anyo ng isang Cookie.

Karaniwang gumagamit ng pangalan ang mga web server ng Java JSESSIONIDupang iimbak ang session ID. Mukhang ganito:

Cookie: JSESSIONID =ABAD1D

Sa panig ng server, maaari mong itakda ang buhay ng session, pati na rin kung awtomatiko itong isasara kapag sarado ang browser.

Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION