სერვერის პროგრამირების ენებისა და მონაცემთა ბაზების ტექნოლოგიები. ვებ პროგრამირების ენები: კლიენტი და სერვერი

ვებ მასტერინგი. სერვერის ვებ პროგრამირება

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

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

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

ჩვენი კურსი „ვებ მასტერინგი. სერვერის ვებ პროგრამირება"დაგეხმარებათ ვებ სერვერის მექანიზმების შესწავლაში და პრაქტიკული ადმინისტრირების უნარების შეძენაში. ეს სასარგებლო იქნება მიმართულების კურსების კურსდამთავრებულებისთვის PHP, ASP.Netდა ა.შ. და სტუდენტებისთვის, რომლებიც ახლახან გეგმავენ ამ ტრენინგს. კურსი შეიძლება რეკომენდირებული იყოს ვებ-ზე დაფუძნებული კურსების კურსდამთავრებულებისთვის, თუ სტუდენტებს არ აქვთ გავლილი ფაქტობრივი კურსი.

გაკვეთილების დროს თქვენ უყურებთ IIS სერვერს, რომელიც არის ხაზის ნაწილი ოპერაციული სისტემა Windows 8/7და Windows Server 2012/2008, ასევე სერვერზე Apache ვერსიები 2.2-2.4, ხშირად გამოიყენება პლატფორმაზე Unix. მასწავლებელი ყურადღებას მიაქცევს უსაფრთხოებასთან დაკავშირებულ მნიშვნელოვან თემებს: ავთენტიფიკაციის მექანიზმებს, მომხმარებლის ავტორიზაციის სცენარებს, SSL-ის დაყენებას და გამოყენებას, SSL სერთიფიკატებთან მუშაობას, Apache mod_rewrite სერვერის მოდულის გამოყენებით.

მიღებულ ცოდნას პრაქტიკაში გამოიყენებთ: 24 საათიანი კურსი მოიცავს 13 ლაბორატორიულ სამუშაოს. კურსის დასრულების შემდეგ თქვენ შეძლებთ დამოუკიდებლად მართოთ IIS და Apache 2.2-2.4 სერვერები, მართოთ შინაარსის ქეშირება, გამოიყენოთ SSL და იმუშაოთ RFC სპეციფიკაციებით. თქვენს უნარებსა და შესაძლებლობებს დაადასტურებს ცენტრის პრესტიჟული დოკუმენტები: სერტიფიკატი და კვალიფიკაციის ამაღლების სერტიფიკატი.

წარმატებული ვებ პროგრამისტის კარიერა იწყება ამ კურსით! დარეგისტრირდით კურსზე!

კურსის დასრულების შემდეგ თქვენ შეძლებთ:

  • იცოდე და გაიგე HTTP/1.1 პროტოკოლი
  • IIS სერვერის ადმინისტრირება
  • Apache 2.2 - 2.4 სერვერის ადმინისტრირება
  • კონტენტის ქეშირების მართვა
  • გამოიყენეთ სერვერის დამმუშავებლები და მოდულები
  • მომხმარებლის ავთენტიფიკაციის მექანიზმების გაგება
  • გამოიყენეთ SSL
  • იმუშავეთ RFC სპეციფიკაციებით
ამ ცოდნისა და უნარების მქონე სპეციალისტებს ამჟამად დიდი მოთხოვნა აქვთ. ჩვენი კურსის კურსდამთავრებულთა უმეტესობა აგრძელებს წარმატებულ კარიერას და პატივს სცემს დამსაქმებლებს.

გამყიდველი

თქვენ გჭირდებათ შინაარსის სანახავად

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

ვებ პროგრამირება ყველა ენა იყოფა სერვერად და კლიენტად:

კლიენტის ვებ პროგრამირების ენები


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

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

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


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

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


Javascript-ის მაგალითებია Java Script, რომელმაც მნიშვნელოვანი გავლენა მოახდინა C-Sharp-ის განვითარებაზე (აქ არის C# ფორუმი) და Visual Basic Script. კლიენტის ენების შესასწავლად და მათთან მუშაობისთვის გჭირდებათ ბრაუზერი, რომელიც მხარს უჭერს მათ. მაგალითად, Internet Explorer, Mozilla ან Opera შესაფერისია.

სერვერის ვებ პროგრამირების ენები


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

სერვერის ენებზე სკრიპტების დამუშავება განსხვავდება კლიენტის მხარისგან:
მომხმარებელი ცდილობს გვერდზე გადასვლას (შეაქვს URL მისამართის ზოლში ან მიჰყვება ბმულს);
ამ გვერდთან დაკავშირებული ყველა სკრიპტი დამუშავებულია სერვერზე;
მომხმარებლისთვის ნაჩვენებია HTML დოკუმენტი.

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


ასევე აღსანიშნავია DBMS (Database Management System) კონცეფცია. ზოგადად, ეს ასევე სერვერია. ჰოსტინგის შეძენისას ვებსაიტის შემქმნელი იღებს მონაცემთა ბაზას (DB), რომლის ცხრილებში მას შეუძლია შეინახოს სხვადასხვა ინფორმაცია, რომლებზეც წვდომა შესაძლებელია ნებისმიერ დროს. თუ ჩვენს მაგალითს დავუბრუნდებით, ამ ცხრილებიდან ერთ-ერთი შეიძლება შეიცავდეს მომხმარებლის შეტყობინებებს სტუმრების წიგნში.

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

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


ბოლო დროს DBMS-ები ფართოდ გამოიყენება, მათზე წვდომა ხდება სტრუქტურირებული შეკითხვის ენის - Structured Query Language (SQL) მეშვეობით. ცხადია, ასეთ მონაცემთა ბაზებთან მუშაობა მოითხოვს SQL-ის უშუალო ცოდნას. ასეთი DBMS მოიცავს, მაგალითად, MySQL და PostgreSQL.

სერვერის მხარის ყველაზე გავრცელებული ენებია PHP, SSI და Perl.

სერვერზე დაფუძნებული ენების შესასწავლად და მათთან მუშაობისთვის საჭიროა ცოტა მეტი, ვიდრე კლიენტებისთვის - სერვერი, ენის თარჯიმანი და DBMS.

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

იცოდით, რომ ვებ პროგრამირების ენები შეიძლება იყოს კლიენტის მხარეს ან სერვერის მხარეს? JavaScript, VBS, PHP, PERL. იცით, როგორ განსხვავდებიან ისინი და როგორ მუშაობენ? სერვერი იცი რა არის? იცით რა არის DBMS? Იცი? ასე რომ, წაიკითხეთ ეს სტატია და გაიგეთ :)

1 - ვებ პროგრამირების ენები, რა არის ისინი?
2 - კლიენტის მხარის ვებ პროგრამირების ენები
3 - სერვერის მხარის ვებ პროგრამირების ენები
4 - რამდენიმე საბოლოო სიტყვა

ვებ პროგრამირების ენები, რა არის ისინი?

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

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

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

კლიენტის ენები

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

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

კლიენტის ყველაზე გავრცელებული ენაა JavaScript, რომელიც შემუშავებულია Netscape-ის მიერ (www.netscape.com, ვფიქრობ, თქვენ იცით მათი Netscape Navigator ბრაუზერი) SunMicrosystems-თან ერთად (www.sun.com). კლიენტის ენის კიდევ ერთი ვარიანტია, მაგალითად, VisualBasicScript (VBS). კლიენტის ვებ პროგრამირების ენის სწავლის დასაწყებად დაგჭირდებათ ბრაუზერი, რომელიც მხარს უჭერს ამ ენას (Internet Explorer (www.microsoft.com), Opera (www.opera.com), Netscape Navigator (www.netscape.com), Mozilla ( www.mozilla .org), იქნება შესაფერისი ვარიანტები (პირადად მე ვიყენებ ამ უკანასკნელს)) და სასწავლო მასალა, რომელიც შეგიძლიათ იხილოთ ვებგვერდზე alepira.ural.ru

სერვერის ენები

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

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

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

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

ამჟამად ცნობილი გახდა DBMS-ები და კარგი მიზეზის გამო, რომლებზეც წვდომა ხდება სტრუქტურირებული შეკითხვის ენის (SQL) ან სტრუქტურირებული შეკითხვის ენის გამოყენებით. ამ მონაცემთა ბაზებთან მუშაობისთვის (გაძლიერება, განახლება, შეკითხვის გაკეთება და ა.შ.) თქვენ უნდა იცოდეთ სწორედ ეს SQL. ასეთ DBMS-ებს შორის ყველაზე ცნობილია MySQL (www.mysql.com), მაგრამ მე ვამჯობინე PostgreSQL (www.postgresql.org).

რამდენიმე საბოლოო სიტყვა

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

სერვერის პროგრამირების ენებიდან გამოირჩევა PHP (PHP: Hypertext Preprocessor) (www.php.net), Perl (www.perl.com), SSI (Server Side Include). ამ სკრიპტების შესამოწმებლად დაგჭირდებათ მეტი: სერვერი (www.apache.org), ენის თარჯიმანი (შეგიძლიათ მიიღოთ მწარმოებლის ვებსაიტზე) და, რა თქმა უნდა, პროდუქტიული მუშაობისთვის, ასევე DBMS.

Რა? სხვა რა სერვერის პროგრამირება? რა უბედურებაა ეს? და რატომ გვჭირდება?

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

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

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

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

რა არის სერვერის პროგრამირება

მართლა რა არის და რითი იჭმევა?

რატომ გვჭირდება სერვერის პროგრამები?

ოდესმე ეწვიეთ ონლაინ მაღაზიას? მაგალითად, ყველაზე პოპულარული "ოზონი" (http://www.ozon.ru).გახსოვთ, როგორ შეკვეთა იქ საქონელი?

თუ არ გახსოვთ ან არც კი იცით რა არის ონლაინ მაღაზია, გავიხსენოთ (ან გავარკვიოთ).

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

რა ხდება, როცა ეს მოხდება? როგორ მუშავდება თქვენს მიერ შეყვანილი მონაცემები? ეს ნამდვილად თავად ვებ ბრაუზერია?

Არაფერს. ეს მონაცემები მუშავდება ვებ სერვერზე.

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

როგორ ხდება ეს სინამდვილეში? ახლა ჩვენ გავარკვევთ. და პირველ რიგში ვუპასუხოთ კითხვას...

ვებ სერვერის მსგავსად ამუშავებს მომხმარებლის მონაცემებს

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

Არ არსებობს გზა. ვებ სერვერი არ არის აღჭურვილი მათი დასამუშავებლად. მისი ამოცანაა ფაილების მოთხოვნის მიღება ვებ ბრაუზერიდან (ვებ გვერდები, სტილის ფურცლები, გრაფიკული სურათები, ფილმები, ხმები, არქივები, შესრულებადი ფაილები და ა.შ.), ამ იგივე ფაილების ძიება სერვერის კომპიუტერის მყარ დისკებზე და გაგზავნეთ ნაპოვნი ფაილები ბრაუზერში. ეს მისი მთავარი ამოცანაა. რა თქმა უნდა, ზოგიერთ განსაკუთრებით მძლავრ სერვერს შეუძლია შეასრულოს დამატებითი მოქმედებები გაგზავნილ ფაილებზე მათ რეალურად გაგზავნამდე (კერძოდ, სერვერის დირექტივების შესრულება). ასევე არის „მრავალმასპინძელი“ პროგრამები, რომლებიც ასრულებენ არა მხოლოდ ვებ სერვერის, არამედ FTP სერვერის, ფოსტის, UseNet სიახლეების ფუნქციებს და ღმერთმა იცის კიდევ რა. მაგრამ მთავარი ფუნქცია: ფაილების მარტივი გაცემა მომხმარებლის მოთხოვნების შესაბამისად - და მეტი არაფერი.

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

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

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

სერვერის პროგრამები იყოფა შემდეგ ოთხ ტიპად.

  1. შესრულებადი პროგრამები, რომლებიც გადის ინტერფეისში CGI(Common Gateway Interface - საერთო გაცვლის ინტერფეისი), ე.წ CGI პროგრამები.ამ ტიპის სერვერის პროგრამული უზრუნველყოფა არის უძველესი, მაგრამ არავითარ შემთხვევაში მოძველებული.
  2. ვებ სერვერის გაფართოებები(ISAPI, NSAPI ფორმატის აპლიკაციები, Apache გაფართოების მოდულები და ა.შ.). ახალი მეთოდი, რომელიც საშუალებას გაძლევთ ჩართოთ სერვერის პროგრამები თავად ვებ სერვერში, რაც მათ განუყოფელ ნაწილს გახდის. ის პირველად იყო შემოთავაზებული Microsoft-ის მიერ მათი Microsoft Internet Information Server-ისთვის (ISAPI ინტერფეისი) და პოპულარული უფასო Apache ვებ სერვერის დეველოპერების მიერ.
  3. აქტიური სერვერის გვერდები(ASP, JSP და ა.შ.). სინამდვილეში, ეს არის ფაილებში შენახული ჩვეულებრივი სტატიკური ვებ გვერდები, რომლებიც, ჩვეულებრივი HTML კოდის გარდა, მოიცავს ბრძანებებს, რომლებიც დამუშავებულია თავად ვებ სერვერის ან მისი გაფართოების მიერ. ასევე ახალი მეთოდი, რომელიც პირველად შემოგვთავაზა Microsoft-მა იმავე ინტერნეტ ინფორმაციის სერვერისთვის.
  4. სერვერის სკრიპტები,დაწერილი ინტერპრეტირებული ენაზე (Perl, Python, VBScript, JavaScript და ა.შ.). ჩვეულებრივი სკრიპტები, რომლებიც გადის CGI ან ISAPI ინტერფეისის სერვერის მხარეს.

ახლა მოდით შევხედოთ მთელ ამ მრავალფეროვნებას უფრო დეტალურად.

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

CGI პროგრამების უპირატესობებში შედის შექმნის სიმარტივე (პროგრამის განვითარების მრავალი გარემო მხარს უჭერს ასეთი აპლიკაციების შექმნას, განსაკუთრებით პოპულარული Borland Delphi, დაწყებული ვერსიით 3) და გამართვის სიმარტივე. ასევე, იმის გამო, რომ CGI აპლიკაციები დამოუკიდებელი პროგრამებია, ისინი მუშაობენ ვებ სერვერისგან განცალკევებით (როგორც პროგრამისტები და სისტემის ადმინისტრატორები ამბობენ, ისინი მუშაობენ სხვა მისამართის სივრცეში). ეს ნიშნავს, რომ თუ CGI პროგრამა ვერ ხერხდება, მხოლოდ ეს პროგრამა მთავრდება - თავად ვებ სერვერი რჩება მცურავი. მაგრამ CGI პროგრამებს აქვთ მხოლოდ ერთი ნაკლი: სისტემური რესურსების დიდი მოხმარება, რადგან სერვერის პროგრამის ცალკეული ასლი იხსნება მონაცემთა თითოეული ნაკრების დასამუშავებლად. და თუ ვებ სერვერი მიიღებს ძალიან ბევრ მოთხოვნას მონაცემების დასამუშავებლად, სერვერის კომპიუტერი შეიძლება გაიყინოს.

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

სწორედ DLL-ების სახით იქმნება ვებ სერვერების ინტერნეტ ინფორმაციის სერვერის გაფართოებები Microsoft-ისგან და Netscape ვებ სერვერი Netscape-დან. პირველ შემთხვევაში, გაფართოებებს აქვთ ფორმატი ISAPI(Internet Server Application Programming Interface - ინტერნეტ სერვერის აპლიკაციის პროგრამირების ინტერფეისი), ხოლო მეორეში - NSAPI(Netscape Server Application Programming Interface - Netscape Server Application Programming Interface). Apache გაფართოების მოდულების ფორმატს Apache მოდულები ეწოდება.

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

CGI პროგრამების მსგავსად. ვინაიდან ისინი მუშაობენ როგორც ვებ სერვერის ნაწილი, გაფართოების ნებისმიერი შეცდომა გამოიწვევს სერვერის გათიშვას.

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

როგორც უკვე აღვნიშნეთ, აქტიური სერვერის გვერდები არის ჩვეულებრივი ვებ გვერდები, რომლებიც მოიცავს სპეციალურ სერვერის სკრიპტები,შესრულებული თავად ვებ სერვერის ან სპეციალური სერვერის პროგრამის მიერ (CGI აპლიკაცია ან ვებ სერვერის გაფართოება). Კერძოდ, ა.ს.პ.(Active Server Pages) მხარდაჭერილი Microsoft Internet Information Server და JSP(Java Server Pages - სერვერის გვერდები დაწერილი JavaScript-ში), რომელსაც მხარს უჭერს მრავალი სხვა ვებ სერვერი, მუშაობს ამ გზით. ASP სერვერის გვერდები იწერება JavaScript-ში და VBScript-ში, ხოლო JSP იწერება მხოლოდ JavaScript-ში.

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

სერვერის გვერდის სკრიპტები მსგავსია აქტიური სერვერის გვერდების ინტერპრეტაციით, მაგრამ ისინი არის "სუფთა" პროგრამის კოდი, HTML დანამატების გარეშე. თარჯიმანი თითქმის ყოველთვის არის CGI პროგრამა, მაგრამ არაფერი გიშლის ხელს მის განვითარებაში, როგორც ვებ. სერვერის გაფართოების სკრიპტები, როგორც წესი, იწერება Perl პროგრამირების ენაზე, რომელიც სპეციალურად შექმნილია ტექსტის დამუშავებისთვის, მაგრამ ასევე გამოიყენება Python, JavaScript, VBScript და თუნდაც (ამბობენ) MS-DOS სერიული ფაილის ენა. სინამდვილეში, სკრიპტებს შეუძლიათ. დაიწეროს ნებისმიერ პროგრამირების ენაზე, რომლისთვისაც არის თარჯიმანი.

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

მაგიდაზე 15.1 აჩვენებს სერვერის პროგრამების ფაილის გაფართოებებს.

ცხრილი 15.1. სერვერის პროგრამის ფაილის გაფართოება

სერვერის პროგრამების ტიპი

ქვესახეობა

გაფართოება

CGI პროგრამები

-

exe

ვებ სერვერის გაფართოებები

ISAPI და NSAPI Apache მოდულები

dll გაფართოების გარეშე

აქტიური სერვერის გვერდები

სერვერის სკრიპტები

ASP JSP

asp jsp

ენა Perl JavaScript VBScript სხვა ენები

pl, cgi js, cgi vbs, cgi cgi

ასე რომ, ჩვენ შევხედეთ, თუ როგორ ამუშავებს ვებ სერვერი (უფრო სწორად, არ ამუშავებს) მომხმარებლის მონაცემებს. ახლა მოდით გადავიდეთ ჯაჭვის საწყისზე და ვნახოთ, როგორ აგზავნის ვებ ბრაუზერი მომხმარებლის მონაცემებს სერვერის პროგრამაში.

როგორ აგზავნის ვებ ბრაუზერი შეყვანილ მონაცემებს

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

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

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

Მაგალითად:

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

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

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

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

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

  • სერვერის პროგრამის ინტერნეტ მისამართი, რომელიც დაამუშავებს ფორმის მონაცემებს;
  • გაგზავნილი მონაცემების კოდირების მეთოდი;
  • მონაცემთა გაგზავნის ორი მეთოდიდან ერთ-ერთი.

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

სერვერის პროგრამის ინტერნეტ მისამართი ძალიან ჰგავს ნებისმიერი სხვა ფაილის ინტერნეტ მისამართს, როგორიცაა ვებ გვერდი. შეხედეთ საკუთარ თავს - ასე გამოიყურება CGI პროგრამის მისამართი:

http://www. რომელიღაც საიტი. ru/bin/program.exe ეს არის ვებ სერვერის გაფართოების მისამართი: http://www.somesite.ru/bin/extension.dll ეს არის სერვერის აქტიური გვერდის მისამართი:

http://www. რომელიღაც საიტი. ru/asps/active_page. ასპ

და ეს არის Perl-ში დაწერილი სკრიპტის პროგრამის მისამართი:

http://www. რომელიღაც საიტი. ru/scripts/perl_script.pl

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

ინტერნეტით გადაცემული მონაცემების კოდირებისთვის ჩვეულებრივ გამოიყენება სამი ყველაზე პოპულარული მეთოდი: განაცხადი/x-www-form-urlencoded,მრავალნაწილიანი/ფორმა-მონაცემები და (უფრო ნაკლებად ხშირად) ტექსტი/უბრალო. შესაძლებელია კოდირების სხვა მეთოდების გამოყენება, მაგრამ უმეტეს შემთხვევაში გამოიყენება სამი ჩამოთვლილი. გარდა ამისა, ამ სამი კოდირების მეთოდი მხარდაჭერილია ვებ ბრაუზერის პროგრამების უმეტესობის მიერ.

შენიშვნა

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

შემთხვევების აბსოლუტურ უმრავლესობაში გამოიყენება აპლიკაციის/x-www-form-uriencoded კოდირების მეთოდი. სხვათა შორის, ეს არის ის, რომელიც გამოიყენება ნაგულისხმევად, თუ კოდირების მეთოდი არ არის მითითებული. მრავალნაწილიანი/ფორმა-მონაცემების კოდირების მეთოდი გამოიყენება, თუ თქვენ აპირებთ ფაილების გაგზავნას ვებ სერვერზე; ის უზრუნველყოფს ამ შემთხვევისთვის შესაბამის ბინარულ მონაცემთა კონვერტაციას. ბოლო მეთოდი - text/plain - წარმოგიდგენთ მონაცემებს უბრალო ტექსტში, რაც შეიძლება სასარგებლო იყოს თუ ფორმის მონაცემები გაიგზავნება ელექტრონული ფოსტით (ზოგჯერ გამოიყენება მონაცემთა გადაცემის ეს მეთოდიც).

ასე რომ, ჩვენ დავახარისხეთ მონაცემთა კოდირება. გასარკვევია, როგორ გადაიცემა ეს მონაცემები ქსელის არხებით.

როგორ ხდება მონაცემების გადაცემა ინტერნეტით

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

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

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

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

აიღეთ, მაგალითად, ზემოთ ნაჩვენები მონაცემთა ნაკრები:

სახელი 1 = ივანე გვარი = ივანოვიჩის სახელი 2 = ივანოვის ასაკი = 30

ახლა მოდით მოვამზადოთ ის გაგზავნისთვის GET მეთოდის გამოყენებით (მონაცემები თავისთავად არის თამამი):

http://www.somesite.ru/bin/program.exe? name1=ივანე&გვარი2=ივანოვიჩი&name2=ივანოვი&ასაკი=30

როგორც ხედავთ, GET მეთოდით გაგზავნილი მონაცემები მოთავსებულია ინტერნეტ მისამართის ბოლოში და მისგან გამოყოფილია კითხვის ნიშნით. ამ შემთხვევაში, "სახელი" = "მნიშვნელობის" წყვილი ერთმანეთისგან გამოყოფილია "კომერციული და" ნიშნით ("&"). ყველაფერი ძალიან მარტივი და გასაგებია.

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

http://www.mysite.ru/bin/choose.exe?chapter=3

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

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

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

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

POST მეთოდის უპირატესობები: არ არსებობს შეზღუდვა გადაცემული მონაცემების რაოდენობაზე და ის „უხილავია“. ნაკლოვანებები: მონაცემთა გაშიფვრის სირთულე და გამართვის სირთულე. POST მეთოდი გამოიყენება, მაგალითად, პერსონალური მონაცემების, ელექტრონულ მაღაზიებში მომხმარებელთა მისამართების, ლიტერატურული ნაწარმოებების გადასაცემად.წვდომა საიტებზე http://www.stihi.ru და http://www.proza.ru და ა.შ. ზოგადად, რაღაც დიდი მოცულობის.

როგორც ამბობენ, WWWC კომიტეტი აპირებს, საბოლოოდ, საერთოდ მიატოვოს GET მეთოდი და ყველა მონაცემი გადაიტანოს POST მეთოდით. ჯერჯერობით, GET მეთოდი უბრალოდ გამოცხადდა, რომ არ არის რეკომენდებული ახლად შექმნილ საიტებზე გამოსაყენებლად, მაგრამ რეალურად ის კვლავ მხარდაჭერილია ვებ ბრაუზერების მიერ.

ასე რომ, ჩვენ გავარკვიეთ ყველაფერი სერვერის პროგრამების შესახებ. კარგი, შეიძლება არა ყველა, მაგრამ ჯერჯერობით ეს საკმარისია ჩვენთვის. ახლა მოდით ვისაუბროთ იმაზე, თუ რამდენად სრულად არის ეს ყველაფერი მხარდაჭერილი Dreamweaver MX-ის მიერ.

სერვერის პროგრამირება - Dreamweaver მიდგომა

რთულია სერვერის პროგრამების დაწერა? დიახ, ძნელია. ალბათ უფრო რთული ვიდრე ვებ გვერდები.

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

და მართლა ახლა მოგვიწევს სერვერის პროგრამების ხელით დაწერა?! არა, სულაც არ არის საჭირო.

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

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

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

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

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

  1. ASP. ეს ტექნოლოგია უკვე ნაცნობია თქვენთვის.
  2. ASP.NET. ASP-ის შემდგომი განვითარება.
  3. PHP. უფასო ტექნოლოგია განაწილებული ღია კოდის ტექსტებით. საკმაოდ პოპულარული და ხშირად გამოიყენება უფასო ვებ სერვერებით, როგორიცაა Apache.
  4. მაკრომედია ColdFusion. მაკრომედიის საკუთარი განვითარება.

რომელი უნდა აირჩიოთ? ყოველივე ამის შემდეგ, ჩვენ დაგვჭირდება ვებ გვერდების მაგალითების შექმნა.

მოდით ავირჩიოთ ASP. და ამიტომ.

სერვერის გვერდებთან მუშაობისთვის ჩვენ გვჭირდება ვებ სერვერი. ამის გარეშე სერვერის გვერდები უბრალოდ არ იმუშავებს. და ალბათ იცით, რომ Windows-ის ყველა მეტ-ნაკლებად ახალ ვერსიას აქვს პატარა ვებ სერვერი. Windows 95/98/ME სისტემებზე ეს არის პერსონალური ვებ სერვერი, ხოლო Windows NT/2000/XP არის ინტერნეტ ინფორმაციის სერვერი. მისი შესაძლებლობები სავსებით საკმარისია იმისთვის, რომ სერვერის პროგრამირებაზე ექსპერიმენტი ჩავატაროთ.

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

ამჟამად თითქმის არცერთი ვებ სერვერი არ უჭერს მხარს ASP.NET ტექნოლოგიას; Microsoft-ს ჯერ არ გამოუქვეყნებია ამ ტექნოლოგიის მხარდაჭერის არც ერთი პროდუქტი. PHP გვერდებთან მუშაობისთვის, თქვენ მოგიწევთ ინტერნეტში მოძებნოთ და ჩამოტვირთოთ საკმაოდ დიდი სადისტრიბუციო ნაკრები, რომელიც შეიცავს PHP დამმუშავებელს, შემდეგ კი დიდი დრო დახარჯოთ მის დაყენებაზე. რაც შეეხება ColdFusion ტექნოლოგიას, თქვენ ნაკლებად სავარაუდოა, რომ შეძლებთ ამისთვის რამდენიმე ათასი დოლარის დახარჯვას. ასე რომ, ჩვენ პრაქტიკულად არ გვაქვს არჩევანი.

მონაცემთა ბაზების შესავალი

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

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

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

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

ნახ. 15.1 გვიჩვენებს ასეთი ცხრილის მაგალითს. როგორც ხედავთ, ამ ცხრილს აქვს სამი ველი:

  • NAME - სერვერის გვერდების, ტექსტის შექმნის ტექნოლოგიის დასახელება;
  • PRICE - დამმუშავებლის პროგრამის ფასი, რიცხვითი;
  • გამოყენება - არის თუ არა ეს ტექნოლოგია ამჟამად მხარდაჭერილი, ლოგიკური ("დიახ-არა").

გარდა ამისა, ამ ცხრილს აქვს ოთხი ჩანაწერი, რომლებიც შეესაბამება Dreamweaver MX-ის მიერ მხარდაჭერილ ტექნოლოგიებს: ASP, ASP.NET, PHP და ColdFusion.

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

მონაცემთა ბაზაში შეტანილი ცხრილის მაგალითი

თქვენ უკვე იცით, როგორ შეხვიდეთ ცალკეულ ველზე - მისი სახელით. როგორ შემიძლია წვდომა საჭირო ჩანაწერზე?

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

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

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

ზოგადად, მონაცემთა ბაზაში შემავალ მონაცემებთან მუშაობის თანმიმდევრობა ასე გამოიყურება:

  1. პროგრამა იხსნებამონაცემთა ბაზა ღია ოპერაციის შესრულებით. ეს არის აუცილებელი ოპერაცია, რომლის გარეშეც შეუძლებელია მონაცემთა ბაზაში წვდომა.
  2. პროგრამა ხსნის მონაცემთა ბაზის სასურველ ცხრილს. ამის შემდეგ პროცესორი მას უბრუნებს ე.წ ჩანაწერების ნაკრები(ინგლისურად -- recordset), რომლითაც მუშაობს პროგრამა.
  3. პროგრამა აკეთებს რეალურ მუშაობას მონაცემებთან.
  4. პროგრამა იხურებაცხრილი, რის შემდეგაც პროცესორი ამოიღებს ამ პროგრამის შესაბამის ჩანაწერებს მეხსიერებიდან.
  5. პროგრამა ხურავს მონაცემთა ბაზას, არღვევს მასთან ყველა კავშირს.

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

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

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

მონაცემთა ბაზის სერვერზე და თავად მონაცემებზე წვდომის მისაღებად, კლიენტის პროგრამა აგზავნის მას სპეციალურ ბრძანებებს. ასეთი ბრძანებების შესაქმნელად შემუშავდა შეკითხვის აღწერის ენა SQL(Structured Query Language - სტრუქტურირებული შეკითხვის ენა). ამ ენაზე დაწერილი ბრძანებების გამოყენებით კლიენტის პროგრამას შეუძლია გახსნას სასურველი ცხრილი, წაიკითხოს მონაცემები, დაამატოთ, შეცვალოს, წაშალოს ჩანაწერი და საბოლოოდ დახუროს მონაცემთა ბაზა, როცა ის აღარ არის საჭირო.

მონაცემთა ბაზის სერვერები ახლა ძალიან ხშირად გამოიყენება, ხოლო ვებ პროგრამირებაში - თითქმის ყველგან. ყველაზე პოპულარულია Oracle, Microsoft SQL Server, Sybase, ძლიერი IBM DB2, Borland InterBase (რუსეთში ის იყიდება IBase სახელით), სულ უფრო პოპულარული PostgressSQL და უფასო MySQL სერვერი, რომელიც ნაწილდება ღია კოდის სახით. ეს უკანასკნელი სერვერი, სხვათა შორის, ძალიან ხშირად გამოიყენება Apache ვებ სერვერთან და PHP სერვერის გვერდის ტექნოლოგიასთან ერთად.

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

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

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

გამოდის: ვებ პროგრამირებაშეიძლება ეწოდოს სპეციალური პროგრამების შექმნა ინტერნეტში მათი გამოყენებისთვის. არსებობს საკმაოდ ბევრი პროგრამირების ენა: C++, Perl, Java, Php, JavaScript, Python, Visual Basic და სხვა.

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

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

კლიენტის პროგრამირების ენები

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

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

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

სერვერის პროგრამირების ენები

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

ასეთი სამუშაოს გამარტივებული დიაგრამა ნაჩვენებია ფიგურაში.