Դաս 14: Cookie-ներ

0

Վեբ բրաուզերները և Սերվերնեը օգտագործում են HTTP արձանագրությունը հաղարդակցվելու համար: Գովազդային վեբ կայքի համար պահանջվում է պահպանել տարբեր էջեերի տեղեկատվությունը: Օրինակ, օգտագործողի գրանցումը ավարտվում է շատ էջեր լրացնելուց հետո: Իսկ ինչպե՞ս պահել օգտատերերի տեղեկատվությունը բոլոր վեբ կայքերում:

Շատ իրավիճակներում cookie-ներ օգտագործելն ամենաէֆեկտիվ տարբերակն է հիշելու և հետևելու նախընտրությունները,գնումնորը և այլ պահանջված ինֆորմացիաները:

Ինչպե՞ս է այն աշխատում

Ձեր սերվերը որոշ տվյալներ է ուղարկում այցելուի բրաուզերին cookie-ի տեսքով: Բրաուզերը հավանաբար կընդունի cookie-ին: Եթե այն ընդունի, ապա cookie-ին կպահվի որպես պարզ տեքստ այցելուի hard drive-ում: Հիմա, երբ այցելուն մեկ այլ էջ մտնի ձեր կայքում, բրաուզերը նույն cookie-ին կուղարկի սերվերին առբերման համար: Ետ վերադարձից հետո, ձեր սերվերը կճանաչի այն ինչ նախկինում պահվել էր:

Cookie-ները պարզ տեքստային տվյալներ են 5 փոփոխական-երկար դաշտերում.

  • Սպառվում է. cookie-ի սպառման օրը: Եթե այն դատարկ է, ապա cookie-ին կսպառվի, երբ այցելուն դուրս գա բրաուզերից:
  • Դոմեյն. Ձեր կայքի դոմեյն անունը:
  • Ճանապարհ. Ճանապարհ դեպի վեբ կայք, որտեղ cookie-ին տեղակայված է: Այն հնարավոր է դատարկ լինի:
  • Ապահով. Եթե այս դաշտում կա “ապահով” բառը, ապա cookie-ին միայն կստացվի անվտագ սերվերով: Եթե այս դաշտը դատարկ է, ապա չկա ոչ մի սահմանապակում:
  • Անուն=արժեք. cookie-ները տեղադրված են kay-value տեսքով:

Cookie-ները նախատեսված են եղել CGI ծրագրավորման համար: Cookie-ում ներառված տվյալները ավտոմատ կերպով փոխանցվում է վեբ բրաուզերի և վեբ սերվերի միջև, որի արդյունքում CGI ծրագրավորողները կարդում և գրում են cookie-ի արժեքները:

JavaScript-ը կարող է նույնիսկ մանիպուլյացիայի ենթարկել cookie-ին, օգտագործելով Document օբյեկտում cookie-ի սեփականությունը:

Cookie-ների պահեստավորումը

Cookie-ի ստեղծելու ամենահեշտ տարբերակը փաստաթղթին արժեք հատկացնելն է. Cookie օբյեկտ, որը այսպիսի տեսք ունի:

document.cookie = “key1=value1;key2=value2;expires=date”;

Այստեղ սպառվող հատկությունը ընտրովի է: Եթե հատկությունը ապահովեք վավեր տվյալներով, ապա cookie-ին կսպառվի տրված ժամանակում:

Ուշադրություն. Cookie-ի արժեքը հնարավոր է չներառի կետ-ստորակետները, ստորակետները կամ բաց տարածքները: Այս պատճառով, լավ կլինի չօգտագործեք JavaScript escape() ֆունկցիան արժեքը ծածկագրելու համար նախքան cookie-ում պահեստավորումը: Իսկ եթե օգտագործեք, ապա օգտագործեք unescape() ֆունկիցան cookie-ին կարդալու համար:

Օրինակ՝

Փորձեք հետևյալ օրինակը:

<html>

<head>

<script type=”text/javascript”>

<!–

function WriteCookie()

{

if( document.myform.customer.value == “” ){ alert (“Enter some value!”);

return;

}

cookievalue= escape(document.myform.customer.value) + “;”; document.cookie=”name=” + cookievalue;

document.write (“Setting Cookies : ” + “name=” + cookievalue );

}

//–>

</script>

</head>

<body>

<form name=”myform” action=””>

Enter name: <input type=”text” name=”customer”/>

<input type=”button” value=”Set Cookie” onclick=”WriteCookie();”/>

</form>

</body>

</html>

Արդյունք

2

Հիմա ձեր համակարգիչը “name”անունով cookie ունի:

 Cookie-ներ կարդալը

Cookie կարդալը, գրելու նման պարզ է, քանի որ փաստաթղթի արժեքը. cookie օբյեկտը cookie է: Փաստաթուղթը ցուցակ կպահի name=value զույգերի բաժանված կետ-ստորակետներով, որտեղ name-ը cookie-ի անունն է, իսկ արժեքը լարի արժեքն է:

Լարերը կարող եք օգտագործել split() ֆունկցիայում:

Օրինակ՝

Փորձեք հետևյալ օրինակը:

<html>

<head>

<script type=”text/javascript”>

<!–

function ReadCookie()

{

var allcookies = document.cookie;

document.write (“All Cookies : ” + allcookies );

//  Get all the cookies pairs in an array cookiearray = allcookies.split(‘;’);

//  Now take key value pair out of this array for(var i=0; i<cookiearray.length; i++){

name = cookiearray[i].split(‘=’)[0]; value = cookiearray[i].split(‘=’)[1];

document.write (“Key is : ” + name + ” and Value is : ” + value);

}

}

//–>

</script>

</head>

<body>

<form name=”myform” action=””>

<p> click the following button and see the result:</p>

<input type=”button” value=”Get Cookie” onclick=”ReadCookie()”/> </form>

</body>

</html>

Արդյունք

1

Ուշադրություն. Հնարավոր է արդեն ուրիշ cookie-ներ տեղադրված լինեն համակարգչում:

Cookie-ների պահպանման ժամկետի տեղադրումը

Կարող եք cookie-ի կյանքը երկարացնել ընդլայնելով ժամկետի ավարտը և խնայելով պահպանման ժամկետը cookie-ում:

Օրինակ՝

Փորձեք հետևյալ օրինակը հասկանալու ինչպես երկարացնել պահպանմնա ժամկետը:

<html>

<head>

<script type=”text/javascript”>

<!–

function WriteCookie()

{

var now = new Date(); now.setMonth( now.getMonth() + 1 );

cookievalue = escape(document.myform.customer.value) + “;” document.cookie=”name=” + cookievalue;

document.cookie = “expires=” + now.toUTCString() + “;” document.write (“Setting Cookies : ” + “name=” + cookievalue );

}

//–>

</script>

</head>

<body>

<form name=”formname” action=””>

Enter name: <input type=”text” name=”customer”/>

<input type=”button” value=”Set Cookie” onclick=”WriteCookie()”/> </form>

</body>

</html>

Արդյունք

3

Cookie-ներ ջնջելը

Ժամանակ առ ժամանակ cookie ջնջելու կարիք կառաջանա: Այս քայլը անելու համար, պարզապես պետք է պահպանման ժամկետը անցյալում տեղադրել:

Օրինակ՝

Փորձեք հետևյալ օրինակը հասկանալու ինչպես cookie ջնջել:

<html>

<head>

<script type=”text/javascript”>

<!–

function WriteCookie()

{

var now = new Date();

now.setMonth( now.getMonth() – 1 );

cookievalue = escape(document.myform.customer.value) + “;” document.cookie=”name=” + cookievalue;

document.cookie = “expires=” + now.toUTCString() + “;” document.write(“Setting Cookies : ” + “name=” + cookievalue );

}

//–>

</script>

</head>

<body>

<form name=”formname” action=””>

 

Enter name: <input type=”text” name=”customer”/>

<input type=”button” value=”Set Cookie” onclick=”WriteCookie()”/> </form>

</body>

</html>

Արդյունք

3

 

 Հարգելի ընթերցող, խնդրում ենք չմոռանալ like տալ մեր ֆեյսբուքյան էջին, քանի որ նորությունների մեծ մասը առաջինը տեղադրվում է հենց այնտեղ։ Ինչպես նաև հետևեք մեզ այլ սոցիալական ցանցերում և, իհարկե, գրանցվեք մեր բլոգում։

Share.