ვიღაცას სურს ნახოს, რას აგზავნიან კლიენტები გვირაბის გავლით, დოკუმენტაციაში პოულობს დაკავშირების კაუჭს და იწყებს სკრიპტის წერას, რომელიც არასოდეს მიიღებს არც ერთ პაკეტს. კაუჭი რეალური და სასარგებლოა, მაგრამ მისი მუშაობის ერთეული სესიაა და არა ბაიტი. სწორი კომპონენტის არჩევა შედარებაა სამ ადგილს შორის, სადაც სამუშაო შეიძლება მოხდეს, და გადამწყვეტი კითხვაა, რომელ ერთეულს ხედავს თითოეული მათგანი სინამდვილეში.

რას იღებს კაუჭი და რას არასოდეს იღებს

კლიენტის დაკავშირების კაუჭი ერთხელ სრულდება, როცა ავთენტიფიცირებული კლიენტი ამყარებს სესიას, სერვერის პროცესის კონტექსტში, დოკუმენტირებული არგუმენტებითა და გარემოს მნიშვნელობებით, როგორიცაა საერთო სახელი და მინიჭებული მისამართი. მას შეუძლია დაწეროს კლიენტისეული კონფიგურაცია, მიიღოს დაშვების გადაწყვეტილება, გამოყოს გარე რესურსი ან ჩაიწეროს, რომ კავშირი მოხდა. რაც არ შეუძლია, ტრაფიკზე დაკვირვებაა, რადგან სანამ პირველი პაკეტი გადაკვეთს გვირაბს, კაუჭი უკვე დაბრუნდა.

ეს არ არის შეზღუდვა, რომლის გვერდის ავლაც საჭიროა. სესიის უკუგამოძახებას, რომელიც ნაკადის დამუშავებას შეეცდებოდა, კავშირის მთელი სიცოცხლე უნდა ემუშავა, და დემონის სკრიპტული კონტრაქტი ასეთი ფორმისთვის არ არის აგებული. იკითხეთ, რისთვისაა კაუჭი, სანამ გადაწყვეტთ, რომ ის გზაში გიდგათ.

ხელახალი დაკავშირებებიც მნიშვნელოვანია. კლიენტი, რომელიც წყდება და ხელახლა უკავშირდება, ახალი სესიაა, ამიტომ ყველაფერი, რასაც კაუჭი გამოყოფს, იდემპოტენტური უნდა იყოს ან დაწესებული უნდა იყოს გათიშვის მოვლენასთან, რომელიც ასუფთავებს. ყოველ ხელახალ დაკავშირებაზე გაჟონვადი მდგომარეობა კაუჭზე დაფუძნებული დიზაინის ჩვეული პირველი შეცდომაა.

სესიის პოლიტიკა კაუჭშია

დაშვება კაუჭის ბუნებრივი საქმეა. თქვენ იცით ვინ დაუკავშირდა, საიდან და რომელი სერტიფიკატით, და შეგიძლიათ გადაწყვიტოთ, გაგრძელდეს ეს სესია თუ უარყოთ. ეს გადაწყვეტილება იაფია, ერთხელ ხდება და არ მოითხოვს ტვირთის არც ერთი ბაიტის ნახვას.

კონფიგურაციის გამოყოფა იმავე ფორმას ერგება. კაუჭს შეუძლია აირჩიოს კლიენტის მისამართი, გაუშვას ამ იდენტობისთვის შესაფერისი პარამეტრები ან დაწეროს ფრაგმენტი, რომელსაც სერვერი ამ კლიენტისთვის კითხულობს. რადგან გადაწყვეტილება სესიაზეა, ის გასაგები რჩება, როცა რაღაც ცუდად მიდის და ვიღაცას უნდა ახსნას, რატომ მიიღო კონკრეტულმა კლიენტმა კონკრეტული მისამართი.

ჩაწერა მესამე შესაბამისობაა. აუდიტის ჩანაწერი, რომელიც ამბობს, რომ სესია დაიშვა, მისი იდენტობითა და დროით, ზუსტად აქ უნდა იყოს. ეს ტრაფიკის ჟურნალი არ არის და არც უნდა მოიქცეს ისე, თითქოს არის. თუ მოგვიანებით ვიღაც იკითხავს, რა გააკეთა კლიენტმა გვირაბის შიგნით, პასუხი სხვა ადგილიდან უნდა მოვიდეს.

პაკეტებთან მუშაობა პაკეტების გზაზეა

თუ მოთხოვნა ფრენის დროს ბაიტების ნახვა ან შეცვლაა, კომპონენტი გადაცემის გზაზე უნდა იყოს: რიგის მქონე ქსელური კედლის წესი, ტრაფიკის მართვის კაუჭი ან მომხმარებლის სივრცეში მდებარე გადამცემი. ეს მექანიზმები პაკეტებს ხედავენ და მათ აქვთ საკუთარი მდგომარეობა, საკუთარი მარცხის რეჟიმები და საკუთარი მუშაობის პროფილი.

ტვირთის რედაქტირება ამ დონეზე უფრო რთულია, ვიდრე მისი კითხვა. ერთი ბაიტის შეცვლამ შეიძლება გააუქმოს სიგრძის ველი, საკონტროლო ჯამი ან პროტოკოლის მდგომარეობის მანქანა, და მესამე დონის გვირაბი არც ერთისგან არ გიცავთ. ეს მხოლოდ იმას ნიშნავს, რომ გარე თავსართები არ არის ის, რასაც არედაქტირებთ. გათვალეთ ეს სარემონტო სამუშაო, სანამ ვინმეს შიგთავსის გადაწერას დაპირდებით.

ინტერფეისის აღება ამ კატეგორიის ყველაზე იაფი იარაღია და ეს დაკვირვებაა, არა რედაქტორი. ადამიანები ურევენ ორივეს, რადგან ორივე ტრაფიკის ნახვად აღიწერება, მაგრამ აღება ფაილს ქმნის, პაკეტების გზა კი გადაწყვეტილებას.

აპლიკაციის ცვლილებები აპლიკაციაშია

როცა მიზანია შეიცვალოს, რას შეიცავს მოთხოვნა ან როგორ ყალიბდება პასუხი, სწორი ადგილი თავად სერვისია ან პროქსი, რომელიც განზრახ ამთავრებს პროტოკოლს. ეს კომპონენტები უკვე ესმით მოთხოვნებს, პასუხებს და იმ ავთენტიფიკაციას, რომელსაც აპლიკაცია ელოდება, და ეს ზუსტად ის კონტექსტია, რომელიც პაკეტების ფილტრს აკლია.

მისამართების თარგმნა ამ სიის ბოლოშია მიზეზის გამო. ის გადაწერს მისამართებსა და პორტებს და ტვირთს ხელუხლებლად ტოვებს, ამიტომ შიგთავსის იარაღი არ არის, რამდენად ხშირადაც არ უნდა გამოჩნდეს რეცეპტში, რომელიც შიგთავსსაც ახსენებს.

ამ საზღვრების ცალ-ცალკე შენარჩუნება ხდის დიზაინს ახსნადს. სესიის პოლიტიკა კაუჭში, პაკეტებთან მუშაობა პაკეტების გზაზე და აპლიკაციის ცვლილება იქ, სადაც პროტოკოლი განზრახ მთავრდება: სამი წინადადება, რომლებიც გადახედვის სიადაც გამოდგება.

სადაც TLS ჯერ კიდევ ამთავრებს საუბარს

ერთი რამ გადაურჩება ყველა ზემოთქმულს: გვირაბის შიგნით HTTPS-ის მატარებელი ტრაფიკი ინარჩუნებს საკუთარ ტრანსპორტულ დაშიფვრას. VPN-ის გასაღებების ფლობა გაძლევთ შიდა IP პაკეტს და არ გაძლევთ მეორე მხარეს მდებარე ვებსაიტის სესიის გასაღებებს.

ამიტომ კაუჭს პრინციპშიც კი არ შეუძლია შიგთავსის შემოწმება, და ამიტომ პაკეტების გზა ხედავს დაშიფრულ ტექსტს, თუ განლაგება განზრახ არ ამთავრებს შიდა TLS-ს. სკრიპტული კონტრაქტი აღწერს, რა ეძლევა კაუჭს; ტვირთზე არაფერს ამბობს, რადგან მისაცემი ტვირთი არ არსებობს.

დაკავშირებული სტატიები