ზოგადი ინფორმაცია სერვერების შესახებ

dedicated_servers.jpg

აი დადგა ნანატრი მომენტი, როცა ჩვენ ბოლოს და ბოლოს უნდა გავარკვიოთ რა არის და ვინ იმალება ამ მაგიური სეიტყვა “სერვერი”-ს მიღმა! ალბათ ძალიან არ შევცდები, თუ ვიტყვი, რომ სერვერი, ეწოდება კომპიუტერს, რომელიც ჩართულია ქსელში (არა აუცილებლად ინტერნეტში) და მუდმივი მოსმენის რეჟიმშია. მოსმენის რეჟიმში ყოფნა იმას ნიშნავს, რომ სერვერი “ელოდება” მოთხოვნებს დანარჩენი სამყაროდან, ანუ კლიენტებისაგან და მოსულ მოთხოვნებზე შესაბამის პასუხს სცემს. რეალურად სერვერიც უბრალო კომპიუტერია (ნუ თუ შეიძლება ნახევარმილიონიან სერვერს ჩვეულებრივი ეწოდოს ) რომელიც კონკრეტული ამოცანის შესრულებაზეა ორიენტირებული. სერვერები რომ რაღაც მითიური კომპიუტერები არ გეგონოთ, გეტყვით რომ სერვერის შეძენა შეიძლება დაწყებული 2000$-დან, დამთავრებული რამდენი ათასი$-იც გაგიხარდებათ, იმდენით ცხადია ფასები ცოტა არაკორექტულია და შეიძლება 1000$-დ იყიდოთ, მაგრამ ამ შემთხვევაში ეს გადამწყვეტი არ არის სერვერები, გამომდინარე თავისი დატვირთვიდან, სხვადასხვა კომპლექტაციის არსებობს. ზოგს ოპერატიული მეხსიერება ჭირდება ბევრი, რეალურ დროში მონაცემებთან სამუშაოდ, ზოგს მძლავრი პროცესორ(ებ)ი, დიდი გათვლების გასაკეთებლად, ზოგსაც დიდი მოცულობის მყარი დისკი, ინფორმაციის შესანახად.

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

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

DNS სერვერები – DNS სერვერები წარმოადგენს საყრდენ წერტილს ოდნავ მაინც არატრივიალური ნებისმიერი ქსელის დამისამართებაში. მარტივად და გასაგებად რომ ვთქვათ, DNS სერვერები აწვდიან გარშემომყოფებს ინფორმაციას კონკრეტული სახელის/მისამართის შესახებ, ასევე დომენური ზონებისა და სხვა DNS სერვერების შესახებ. რაში მდგომარეობს მისი მუშაობის არსი და პრინციპი: ყოველ DNS სერვერს გააჩნია გარკვეული ჩანაწერების სია, სადაც თითოეული ჩანაწერი წარმოადგენს წყვილს: სახელი – მისამართი. DNS სერვერს შეუძლია დააბრუნოს მისამართი – სახელის მიხედვით, ან სახელი – მისამართის მიხედვით. მაგალითად, გვაქვს დომენური სახელი gode.ge და გვაინტერესებს მისი მისამართი, ვეკითხებით DNS სერვერს და სერვერი გვეუბნება რომ მაგალითად gode.ge-ს შეესაბამება მისართი 10.0.0.1. თუ DNS სერვერმა თავის სიაში ვერ იპოვა ასეთი ჩანაწერი, ის შეეკითხება უახლოეს მეზობელ DNS სერვერს, თუ არც მეზობელმა იცის, ის შეეკითხება თავის უახლოესს და ა.შ. ანუ ერთი მოთხოვნა, შეიძლება რეალურად დიდ პროცესში გადაიზარდოს და მანამ, სანამ რომელიმე DNS სერვერი არ გასცემს პასუხს ამ მოთხოვნას, გაგრძელდეს. ცხადია არსებობს დროში შეზღუდვა, თუ მაგალითად სერვერზე დაყენებულია, რომ მაქსიმალური მოლოდინის დრო ერთი მოთხოვნის დასამუშავებლად არის 100 წამი, 100 წამში ავტომატურად დაბრუნდება პასუხი, რომ მაქსიმალური დრო ამოიწურა და მისამართის მოძიება ვერ მოხერხდა. გასათვალისწინებელია ერთი ფაქტიც: DNS სერვერები ახდენენ მოთხოვნების კეშირებას, ანუ როცა ერთხელ ჩვენი სერვერი გაიგებს, რომ gode.ge-ს შეესაბამება მისამართი 10.0.0.1, ის ამ ინფორმაციას შეინახავს და მომავალში, თუ ისევ იგივე მოთხოვნა განხორციელდება, პირდაპირ კეშიდან დააბრუნებს პასუხს. კეშს თავისი სასიცოცხლო ვადა (TTL – Time To Live) გააჩნია (მაგალითად 24 საათი) რაც იმას ნიშნავს, რომ თუ მოთხოვნიდან მოთხოვნამდე 24 საათზე მეტი გავიდა, სერვერი ვალდებულია წავიდეს და გადაამოწმოს თავის სამეზობლოში, ამ სახელს ისევ ეს მისამართი შეესაბამება, თუ რაიმე მიზეზის გამო მისამართის ცვლილება მოხდა. DNS სერვერებს ასევე აქვთ ძირეული სერვერების ჩამონათვალი. რას ნიშნავს ძირეული სერვერები: ვთქვათ გვაქვს მისამართი gode.ge რეალურად ჩვენი მისამართია არა gode.ge არამედ gode.ge. სწორედ წერტილი ბოლოში, არის ძირეული მისამართი. არსებობს სერვერი, რომელიც პასუხისმგებელია ძირეულ დომენზე. შესაბამისად, როცა უნდა დადგინდეს gode.ge.-ს მისამართი, პროცესი ასეთი სახისაა:

ვუკავშირდებით DNS სერვერს, რომელიც პასუხისმგებელია ძირეულ ზონაზე

ვეკითხებით მას რა იცის ge ზონის შესახებ

ვიღებთ პასუხს და ვუკავშირდებით სერვერს, რომელიც პასუხისმგებელია ge ზონაზე

ვეკითხებით ამ სერვერს ვის აქვს ინფორმაცია gode.ge-ს შესახებ

ვუკავშირდებით სერვერს რომელიც პასუხისმგებელია gode.ge-ზე და ვეკითხებით მისამართს

ცხადია რეალურად შეიძლება ერთი სერვერი რამდენიმე ზონაზე იყოს პასუხისმგებელი, ან gode.ge-ზე პასუხი ge ზონაზე პასუხისმგებელმა სერვერმა დაგვიბრუნოს, ხოლო თვითონ სინქრონიზაციისთვის პერიოდულად გადაამოწმოს gode.ge-ზე რეალურად პასუხისმგებელ სერვერთან gode.ge-ს მისამართი.

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

როგორ მუშაობს ეს ყველაფერი: დაუშვათ თქვენ ბროუზერში ჩაწერეთ მისამართი www.gode.ge. ამის შემდეგ, ბროუზერი არკვევს ცოტა ხნის წინ ნახსენები DNS სერვერების მეშვეობით gode.ge-ს IP მისამართს. მას მერე, რაც მისამართი დადგენილია, ხდება კავშირის დამყარება ამ მისამართზე. აქ თავს იჩენს ერთი მომენტი: მისამართებში, გარდა www.gode.ge-სა, მითითებულია კიდევ http:// ან https:// ან ftp:// ან რაიმე სხვა. დადგა დრო, ფარდა აეხადოს სიმართლეს და გავიგოთ რას წარმოადგენს ეს მისტიური სიმბოლოები ეს სიმბოლოები, სხვა არაფერია, თუ არა პროტოკოლის აღმნიშვნელი სიმბოლოები, რაც იმას ნიშნავს, რომ პროგრამა, ამ სიმბოლოების მიხედვით არკვევს, რა პროტოკოლი უნდა გამოიყენოს სერვერთან კავშირისათვის. მაგალითად, http ნიშნავს Hyper Text Transport Protocol-ს და გამოიყენება ვებ-სერვერებში, საიტების მიმოცვლისათვის. ამ პროტოკოლს, ისევე როგორც ყველა სხვას, თავისი დამახასიათებელი ნიშნები აქვს, მაგრამ მთავარი ჩვენთვის ამ შემთხვევაში პორტის ნომერია. ჩვეულებრივ, მიღებულია, რომ http პროტოკოლის შესაბამისი პორტია 80. ეს იმას ნიშნავს, რომ როცა ბროუზერი ხედავს მისამართს http://www.gode.ge და ადგენს, რომ gode.ge-ს მისამართია 10.0.0.1, ის ავტომატურად ხსნის კავშირს მისამართზე 10.0.0.1 და პორტზე 80. თუმცა, ასევე შესაძლებელია პორტის ცხადად მითითება, მაგალითად ასეთი სახით: http://www.gode.ge:123 ეს ნიშნავს, რომ კავშირისათვის http პროტოკოლი იქნება გამოყენებული, მაგრამ კავშირი, ნაცვლად 80 პორტისა, გაიხსნება 123 პორტთან.

ძალიან კარგი, გავხსენით კავშირი ვებ-სერვერთან, რა ხდება შემდეგ: შემდეგ ხდება საიტის მოთხოვნა, ანუ ვებ-სერვერს ვეუბნებით: “მოგვეცი საიტი www.gode.ge”. სანამ გავაგრძელებთ, მანამდე ორი სიტყვით უნდა შევეხოთ მისამართს: http://www.gode.ge. მისამართი იშიფრება მარჯვნიდან მარცხნივ, ანუ ჯერ აიღება “.” რომელასც არ ვწერთ, მაგრამ რომელიც არის ძირეული დომენი, მერე ამ ძირეული დომენის მიხედვით, აიღება ge დომენი, შემდეგ უკვე gode.ge. დომენური სახელით ხდება მისამართის გარკვევა, შემდეგ http პროტოკოლის წესების მიხედვით, ხდება კავშირის გახსნა ვებ-სერვერთან, აი აქ გავჩერდეთ და შევხედოთ დარჩენილ www-ს, რა არის ეს ჯადოსნური “www”? თუ საქმე გაშიფვრას ეხება, მაშინ www არის აბრევიატურა, რომელიც შეესაბამება “World Wide Web”-ს, მაგრამ რეალობაში, www წარმოადგენს ქვედომენს, ძირითად ქვედომენს gode.ge-სათვის, რომელიც შეესაბამება ფიზიკურ ფოლდერს სერვერზე. ანალოგიურად, შეიძლება არსებობდეს: blog.gode.ge, forum.gode.ge და ა.შ. და შესაბამისად, forum, blog წარმოადგენს ქვედომენს და თითოეულ მათგანს, შეესაბამება ფიზიკური ფოლდერი სერვერზე. ანუ არსებობს ერთი ფოლდერი gode.ge-სათვის, და ქვეფოლდერები შიგნით, რომლებიც შეესაბამება ქვედომენებს. (იმედია გასაგებად ავხსენი )

გავაგრძელეთ. როცა ბროუზერი დაუკავშირდა ვებ-სერვერს, და მოითხოვა www.gode.ge, ეს ნიშნავს, რომ ბროუზერი სთხოვს ვებ-სერვერს საიტ gode.ge-ს www ქვედომენის (ანუ ვებ-სერვერისათვის ფიზიკური ფოლდერის) შიგთავსს. ანუ კიდევ ერთხელ რო შევხედოთ ამ ყველაფერს, DNS სერვერისათვის www არის ქვედომენი, ხოლო ვებ-სერვერისათვის კი ქვეფოლდერი. ცხადია არ არის აუცილებელი, რომ www ქვედომენის შესაბამის ფიზიკურ ფოლდერს სერვერზე, აუცილებლად www ერქვას, მას შეიძლება ერქვას htdocs, public_html და ა.შ. ეს ყველაფერი ვებ-სერვერის კონფიგურაციაზეა დამოკიდებული

აქამდე თუ ყველაფერი გავიგეთ, ძალიან კარგი, ვაგრძელებთ: შემდეგი, რაც უნდა გავიგოთ არის ე.წ. Directory Index-ი. Directory Index-ი წარმოადგენს კონფიგურაციის პარამეტრს ვებ-სერვერისათვის და აკეთებს შემდეგ რამეს: მისი მეშვეობით, განისაზღრვრება, რა უნდა დააბრუნოს სერვერმა, თუ კონკრეტული ფაილის მოთხოვნა არ მოხდა, ანუ არ გადაეცა მისამართი: http://www.gode.ge/index.html ამ შემთხვევაში, ვებ-სერვერი, უყურებს კონფიგურაციას და იქცევა შესაბამისად. მაგალითად, კონფიგურაციაში შეიძლება გაიწეროს, რომ Directory Index-ია index.php, index.html, index.htm, ეს ნიშნავს იმას, რომ სერვერი ჯერ შეეცდება იპოვოს და დააბრუნოს index.php, თუ ვერ იპოვნა, შემდეგ გადავა შემდეგ ვარიანტზე: index.html და ა.შ. თუ ვერცერთ ფაილს ვერ იპოვნის, მაშინ სერვერ დააბრუნებს Directory Listing-ს, ანუ ფაილებისა და საქაღალდეების ჩამონათვალს, როგორც ალბათ ხშირად გინახავთ. თუმცა, შეიძლება ესეც აიკრძალოს და გამოვიდეს შეტყობინება, რომ Directory Listing Is Not Allowed (ტექსტი ცხადია შეიძლება განსხვავებული იყოს.) რა საჭიროა ეს Directory Index? პასუხი მარტივია, რომ არსებობდეს Default დოკუმენტი, რომელიც სერვერმა უნდა დააბრუნოს, თუ ცხადი სახით სხვა დოკუმენტის მოთხოვნა არ მოხდა.

შემდეგი ეტაპი, წარმოადგენს მოთხოვნილი ფაილისათვის მითითებული ფაილის მომხმარებლისთვის დაბრუნებას. მომავალში უფრო დეტალურად განვიხილავთ ამ მომენტს, იმიტომ რომ სწორედ ამ ადგილას ხდება სკრიპტების შესრულება და პარამეტრების გადაცემა, მაგრამ ამ ეტაპზე დავივიწყოთ ეს საკითხი და უბრალოდ შევთანხმდეთ ერთ რამეზე: ვებ-სერვერი აბრუნებს იმ ფაილს, რომელიც მითითებულია დომენური სახელის შემდეგ. მაგალითად www.gode.ge/file1.html, www.gode.ge/file2.php და ა.შ. ეს ფაილი, როგორც უკვე წესით უნდა მიმხვდარიყავით, განთავსებულია www კატალოგში და ქვია file1.html, file2.php და ა.შ. როცა ვებ-სერვერი ფაილს იპოვის, ის მას კითხულობს და ტექსტურ რეჟიმში უბრუნებს ბროუზერს, ბროუზერს კი ისღა დარჩენია, დაბრუნებული რეზულტატი დაარენდეროს (ანუ დახატოს თქვენი კომპიუტერის ეკრანზე).

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

ბროუზერში ავკრიფეთ: http://www.gode.ge

ბროუზერმა დაადგინა gode.ge დომენური სახელის შესაბამისი მისამართი

ბროუზერმა გაარკვია მისამართის მიხედვით, რომ უნდა გამოიყენოს http პროტოკოლი

ბროუზერმა გახსნა კავშირი ვებ-სერვერის მისამართზე, პორტზე #80

ბროუზერმა მოითხოვა საიტ gode.ge-ს შესაბამისი ქვედომენ www-ს შიგთავსი.

ვებ-სერვერმა, იმის მიხედვით, თუ რა უწერია Directory Index-ში, მოძებნა და დააბრუნა ფაილი, დააბრუნა Directory Listing-ი ან დააბრუნა შეცდომა იმის შესახებ, რომ საქაღალდის შიგთავსის ჩვენება აკრძალულია.

ბროუზერმა დაარენდერა მიღებული შედეგი.

დანარჩენი სერვერის ტიპების დეტალურ განხილვაზე არ შევჩერდები, რადგანაც კონკრეტულად ვებთან მუშაობისას, მათი მუშობის პრინციპების ასე ღრმა ცოდნა, საწყის ეტაპზე, საჭირო არ არის. უბრალოდ ვთქვათ, რომ არსებობენ FTP სერვერები, რომლებიც უზრუნველყოფენ სერვერზე ფაილების ატვირთვა/ჩამოტვირთვას, და რომელიც აუცილებელია, რომ თქვენი დასრულებული საიტი სერვერზე განათავსოთ, ასევე არსებობენ Mail სერვერები, რომლებიც ელექტრონული ფოსტის გაგზავნა/მიღებით არიან დაკავებული. აქ რამდენიმე ტიპის სერვერებია: SMTP სერვერები, რომლებიც ელექტრონული ფოსტის გასაგზავნად გამოიყენება და POP და IMAP სერვერები, რომლებიც წერილების მიღებისას გვჭირდება.

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

სასარგებლო ბმულები:

დამატებითი ინფორმაცია ფიზიკური სერვერების შესახებ

დამატებითი ინფორმაცია DNS სერვერების შესახებ

დამატებითი ინფორმაცია FTP პროტოკოლისა და სერვერების შესახებ

დამატებითი ინფორმაცია HTTP(ვებ) სერვერის შესახებ

დამატებითი ინფორმაცია IMAP პროტოკოლისა და სერვერების შესახებ

დამატებითი ინფორმაცია SMTP პროტოკოლისა და სერვერების შესახებ

დამატებითი ინფორმაცია POP პროტოკოლისა და სერვერების შესახებ

და როგორც ყოველთვის გუგულის ბუდე – ყველაფერი, რაც შეიძლება გაინტერესებდეთ

წყარო:http://www.gode.ge

დატოვეთ კომენატრი

დატოვეთ კომენატრი