Միացման կարթը սեսիայի քաղաքականություն է, ոչ փաթեթների զտիչ
Հաճախորդի միացման կարթը գործարկվում է մեկ անգամ յուրաքանչյուր սեսիայի համար և երբեք չի տեսնում բեռը։ Ընդունումը դրեք այնտեղ, որտեղ սեսիաներ կան, իսկ բովանդակության փոփոխությունը՝ այնտեղ, որտեղ հարցումներ կան։
Ինչ-որ մեկը ցանկանում է տեսնել, թե հաճախորդները ինչ են ուղարկում թունելով, գտնում է միացման կարթը փաստաթղթերում և սկսում է գրել սկրիպտ, որը երբեք ոչ մի փաթեթ չի ստանա։ Կարթը իրական է և օգտակար, բայց նրա աշխատանքի միավորը սեսիան է, ոչ բայթը։ Ճիշտ բաղադրիչ ընտրելը համեմատություն է երեք վայրերի միջև, որտեղ աշխատանքը կարող է տեղի ունենալ, և վճռորոշ հարցն այն է, թե յուրաքանչյուրը իրականում որ միավորն է տեսնում։
Ինչ է ստանում կարթը և ինչ երբեք չի ստանում
Հաճախորդի միացման կարթը գործարկվում է մեկ անգամ, երբ նույնականացված հաճախորդը սեսիա է հաստատում, սերվերի գործընթացի համատեքստում, փաստաթղթավորված արգումենտներով և միջավայրի արժեքներով, ինչպիսիք են ընդհանուր անունը և հատկացված հասցեն։ Այն կարող է գրել յուրաքանչյուր հաճախորդի կարգավորում, կայացնել ընդունման որոշում, հատկացնել արտաքին ռեսուրս կամ գրանցել, որ կապը տեղի է ունեցել։ Այն, ինչ չի կարող անել, երթևեկությունը դիտարկելն է, որովհետև երբ առաջին փաթեթը հատում է թունելը, կարթն արդեն վերադարձել է։
Սա սահմանափակում չէ, որը պետք է շրջանցել։ Սեսիայի հետադարձ կանչը, որը կփորձեր մշակել հոսք, պետք է աշխատեր կապի ողջ կյանքի ընթացքում, և դեմոնի սկրիպտային պայմանագիրը նման ձևի համար չի կառուցվել։ Հարցրեք, թե ինչի համար է կարթը, նախքան որոշելը, որ այն ձեր ճանապարհին է։
Կրկնակի միացումները նույնպես կարևոր են։ Հաճախորդը, որը կտրվում և նորից միանում է, նոր սեսիա է, ուստի այն ամենը, ինչ կարթը հատկացնում է, պետք է լինի իդեմպոտենտ կամ զուգակցված անջատման իրադարձության հետ, որը մաքրում է։ Յուրաքանչյուր կրկնակի միացման ժամանակ արտահոսող վիճակը կարթի վրա հիմնված ձևավորման սովորական առաջին սխալն է։
Սեսիայի քաղաքականությունը կարթի տեղում է
Ընդունումը կարթի բնական աշխատանքն է։ Դուք գիտեք, թե ով է միացել, որտեղից և ինչ վկայականով, և կարող եք որոշել՝ այս սեսիան շարունակվի՞, թե՞ մերժվի։ Այդ որոշումը էժան է, տեղի է ունենում մեկ անգամ և չի պահանջում նայել բեռի ոչ մի բայթ։
Կարգավորման հատկացումը համապատասխանում է նույն ձևին։ Կարթը կարող է ընտրել հաճախորդի հասցեն, ուղարկել այդ ինքնությանը համապատասխան ընտրանքներ կամ գրել մի հատված, որը սերվերը կարդում է այս հաճախորդի համար։ Քանի որ որոշումը սեսիայով է, այն մնում է հասկանալի, երբ ինչ-որ բան սխալ է գնում և ինչ-որ մեկը պետք է բացատրի, թե ինչու որոշակի հաճախորդ ստացավ որոշակի հասցե։
Գրանցումը երրորդ համապատասխանությունն է։ Աուդիտի գրառումը, որն ասում է, որ սեսիան ընդունվել է, իր ինքնությամբ և ժամանակով, հենց այստեղ է տեղավորվում։ Սա երթևեկության մատյան չէ և չպետք է ձևացնի, թե այդպիսին է։ Եթե ավելի ուշ ինչ-որ մեկը հարցնի, թե հաճախորդը ինչ է արել թունելի ներսում, պատասխանը պետք է գա այլ տեղից։
Փաթեթների աշխատանքը փաթեթների ուղու տեղում է
Եթե պահանջը թռիչքի ընթացքում բայթեր տեսնելն ու փոփոխելն է, բաղադրիչը պետք է լինի փոխանցման ուղու վրա՝ հերթով հրդեհային պատի կանոն, երթևեկության կառավարման կարթ կամ օգտվողի տարածության փոխանցիչ։ Այդ մեխանիզմները տեսնում են փաթեթները, և նրանք ունեն իրենց վիճակը, իրենց խափանման ձևերը և իրենց աշխատանքի պրոֆիլը։
Այդ շերտում բեռը խմբագրելը ավելի դժվար է, քան կարդալը։ Մեկ բայթ փոխելը կարող է անվավեր դարձնել երկարության դաշտը, ստուգիչ գումարը կամ արձանագրության վիճակի մեքենան, և երրորդ շերտի թունելը ձեզ ոչ մեկից չի պաշտպանում։ Դա միայն նշանակում է, որ արտաքին վերնագրերը այն չեն, ինչ դուք խմբագրում եք։ Բյուջե տրամադրեք այդ վերանորոգման աշխատանքին, նախքան ինչ-որ մեկին բովանդակության վերաշարադրում խոստանալը։
Ինտերֆեյսի գրավումը այս կատեգորիայի ամենաէժան գործիքն է, և դա դիտարկում է, ոչ խմբագրիչ։ Մարդիկ շփոթում են երկուսը, որովհետև երկուսն էլ նկարագրվում են որպես երթևեկություն տեսնել, բայց գրավումը ֆայլ է ստեղծում, իսկ փաթեթների ուղին՝ որոշում։
Ծրագրի փոփոխությունները ծրագրում են տեղավորվում
Երբ նպատակը փոխելն է այն, թե ինչ է պարունակում հարցումը կամ ինչպես է ձևավորվում պատասխանը, ճիշտ տեղը հենց ծառայությունն է կամ պրոքսին, որը դիտավորյալ ավարտում է արձանագրությունը։ Այդ բաղադրիչները արդեն հասկանում են հարցումները, պատասխանները և այն նույնականացումը, որը ծրագիրը սպասում է, և դա հենց այն համատեքստն է, որը փաթեթների զտիչին պակասում է։
Հասցեների թարգմանությունը այս ցանկի ներքևում է ինչ-որ պատճառով։ Այն վերաշարադրում է հասցեները և պորտերը և անփոփոխ է թողնում բեռը, ուստի բովանդակության գործիք չէ, որքան էլ հաճախ հանդիպի բաղադրատոմսում, որը նշում է նաև բովանդակություն։
Այս սահմանները առանձին պահելն է, որ ձևավորումը դարձնում է բացատրելի։ Սեսիայի քաղաքականությունը կարթում, փաթեթների մշակումը փաթեթների ուղու վրա և ծրագրի փոփոխությունը այնտեղ, որտեղ արձանագրությունը դիտավորյալ ավարտվում է․ երեք նախադասություն, որոնք նաև ստուգաթերթ են ծառայում վերանայման համար։
Որտեղ TLS-ը դեռ ավարտում է խոսակցությունը
Մի բան վերապրում է վերևի բոլորից․ թունելի ներսում HTTPS կրող երթևեկությունը պահպանում է իր սեփական տրանսպորտային գաղտնագրումը։ VPN-ի բանալիներ ունենալը ձեզ տալիս է ներքին IP փաթեթը և չի տալիս մյուս ծայրում գտնվող կայքի սեսիայի բանալիները։
Այդ պատճառով կարթը չի կարող բովանդակություն ստուգել նույնիսկ սկզբունքորեն, և այդ պատճառով փաթեթների ուղին տեսնում է գաղտնագրված տեքստ, եթե տեղակայումը դիտավորյալ չի ավարտում ներքին TLS-ը։ սկրիպտային պայմանագիր նկարագրում է, թե ինչ է տրվում կարթին․ այն ոչինչ չի ասում բեռի մասին, որովհետև տալու բեռ չկա։