ყურადღება. სტატიკური გვერდი WordPress-ში რას ნიშნავს სტატიკური საწყისი გვერდი?

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

რა არის TFP და FTP, რა განსხვავებაა?

აბრევიატურებს TFP და FTP საერთო არაფერი აქვთ. ერთადერთი, რაც მათ აერთიანებს, მხოლოდ გამოთქმის თანხმობაა, რამაც შეიძლება ვინმე დააბნიოს.
TFP - (ბეჭდვის დრო), ითარგმნება როგორც "აბეჭდვის დრო". ამ ტერმინს იყენებენ ფოტოგრაფები და მოდის მოდელები. TFP არის ერთგვარი ვალუტა, რომელსაც ფოტოგრაფიის ინდუსტრია იყენებს. TFP, როგორც წესი, უზრუნველყოფილია მოდელსა და ფოტოგრაფს შორის შეთანხმებით, რათა თავიდან იქნას აცილებული საავტორო უფლებებთან დაკავშირებული ყველა სახის პრობლემა და ა.შ.
როდესაც მოდელი ეთანხმება TFP-ს, ეს ნიშნავს, რომ ის მზად არის იმუშაოს უფასოდ გარკვეული დროის განმავლობაში და სამუშაოსთვის მიიღებს მის ფოტოებს (ყველა ან რამდენიმე, დამუშავებით ან მის გარეშე).
ახლა FTP-ის შესახებ.
FTP (ფაილის გადაცემის პროტოკოლი)არის ფაილების გადაცემის პროტოკოლი, რომელსაც იყენებენ ვებ დეველოპერები და ა.შ. ამ პროტოკოლის საშუალებით სერვერთან მუშაობისთვის გამოიყენება FTP კლიენტი - ეს არის პროგრამა, რომელიც მუშაობს უშუალოდ FTP სერვერთან.
FTP პროტოკოლი გამოიყენება ქსელის დოკუმენტების გადასატანად, როგორიცაა HTML, PHP, CSS, JPEG და ა.შ. დეველოპერის პირადი მოწყობილობიდან ჰოსტინგ სერვერზე. იგივე პროტოკოლი გამოიყენება ქსელის დოკუმენტების სერვერიდან დეველოპერის პირად მოწყობილობაზე ჩამოსატვირთად.

რა არის ფაილის გაფართოება?

Ფაილის გაფართოებაუფრო სწორად, ფაილის სახელის გაფართოება არის გარკვეული სიმბოლოების თანმიმდევრობა, რომელიც დაემატა ფაილის სახელს. ეს სიმბოლოები მიზნად ისახავს ფაილის ტიპის, ან როგორც ამბობენ, ფორმატის იდენტიფიცირებას. ფაილის სახელის გაფართოება სხვა არაფერია, თუ არა ასოების და/ან რიცხვების კომბინაცია, რომელიც მოდის ფაილის სახელის ბოლო წერტილის შემდეგ, როგორიცაა fotograf.gif, სადაც "fotograf" არის ფაილის სახელი და ".gif" არის მისი გაფართოება. არსებობს დიდი რაოდენობით ფაილის გაფართოება, მაგრამ ისინი ყველა მიჰყვება გარკვეულ სტანდარტებს და აპლიკაციებს. მაგრამ თუ გსურთ შექმნათ თქვენი ორიგინალური გაფართოება რომელიმე ფაილისთვის, მაგალითად, filename.fotograf, გთხოვთ, პრობლემა არ არის! მაგრამ Windows ვერ შეძლებს ამ ფაილის გახსნას, თუ თქვენს აპარატზე არ არის შესაბამისი პროგრამა, რომელიც ხედავს ამ გაფართოებას. მაგალითად, თუ გსურთ გახსნათ ფაილი .gif გაფართოებით Windows OS-ში, ამ OS-მა იცის ამ გაფართოების შესახებ და გახსნის ზოგიერთ სურათს. მაგრამ თუ გსურთ ფაილის გახსნა .fotograf გაფართოებით, ასეთი ფაილი არ გაიხსნება, რადგან Windows არ იცნობს ასეთ გაფართოებას. ამ გაფართოებით ფაილის გახსნა შესაძლებელია აპლიკაციაში, რომელიც მხარს უჭერს ამ გაფართოებას.

რა არის სავიზიტო ბარათის საიტი, რა არის?

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

რა არის დინამიური ვებ გვერდი/საიტი?

დინამიური ვებ გვერდი- ეს არის გვერდი, რომელზედაც შესაძლებელია კონტენტის ან მისი ნაწილის გენერირება (შეცვლა) რეალურ დროში დამატებითი ჟესტების ჩართვის გარეშე. დინამიურად დაკავშირებული გვერდებისთვის გამოიყენება ე.წ.ძრავა - CMS (კონტენტის მართვის სისტემა).
Როგორ მუშაობს? მაგალითად, გვერდი, რომელსაც ამჟამად ხედავთ თქვენი ბრაუზერის ფანჯარაში, არ არსებობს. იგი აწყობილია ცალკეული ნაწილებისგან (თარგები), რომლებსაც სერვერი აწყობს ერთში. ანუ გვერდის მოთხოვნისას ვებ სერვერი ამუშავებს მოთხოვნას და მყისვე “on the fly” აგროვებს ვებ გვერდს ცალკეული ნაწილებიდან და გვაძლევს ბრაუზერში სანახავად. იცვლება მხოლოდ გვერდის შინაარსი, ხოლო გვერდის შაბლონი იგივე რჩება.
წარმოიდგინეთ კარადა, რომელსაც აქვს რამდენიმე თარო სხვადასხვა ნივთებით. ერთ თაროზე არის ტექსტის შინაარსი (მონაცემთა ბაზა), მეორეზე - გრაფიკული ფაილები (ფოტოები, გრაფიკული დიზაინის ელემენტები), მესამეზე - სკრიპტები (მაგალითად, PHP სკრიპტები), მეოთხეზე - CSS სტილები და ა.შ. ასე რომ, როდესაც სერვერმა მიიღო მოთხოვნა ამა თუ იმ კონტენტზე, მან იცის სად არის ყველაფერი და სწრაფად აწყობს ჩვენთვის გვერდს საჭირო ნაწილებიდან: იღებს საჭირო ტექსტურ შინაარსს მონაცემთა ბაზიდან, საჭირო გრაფიკულ ფაილებს თაროდან. გრაფიკა და ა.შ. შაბლონის გარკვეული ნაწილის ერთ ადგილას შეცვლით, ეს ცვლილებები ვრცელდება საიტის ყველა გვერდზე.

რა არის სტატიკური ვებ გვერდი / ვებგვერდი?

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

ვებ დიზაინერი და ვებ პროგრამისტი, რა განსხვავებაა?

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

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

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

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

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

Წიგნი:

სტატიკური და დინამიური ვებ გვერდის კონცეფცია

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

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

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

ᲨᲔᲜᲘᲨᲕᲜᲐ

HTML-ში დაწერილი გვერდის მისამართი დასრულდება წერტილის შემდეგ სიმბოლოებით.

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

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

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

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

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

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

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

დინამიურიeb გვერდები

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

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

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

სკრიპტები ენაზეPHP

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

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

როგორ მუშაობენphp- გვერდები

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

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

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

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

ჩვენ უკვე დავწერეთ Akamai-დან ჩვენს CDN ღრუბლოვან საცავთან დაკავშირების შესახებ. CDN ინახავს მთელ სტატიკურ შინაარსს (სურათებს, ტექსტურ ფაილებს, JS, CSS და ა.შ.) მთელ მსოფლიოში მიმოფანტულ ქეშირების სერვერებზე (იხილეთ რუკა).

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

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

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

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

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

ვალიდატორები იყოფა ძლიერ და სუსტებად. ძლიერი ვალიდატორები გამოჩნდა HTTP/1.1-ში. მათ ასე დაარქვეს, რადგან ისინი იცვლებიან, როდესაც ფაილი იცვლება. მათ შორისაა ე.წ. ETags (entity tags). ETag არის დოკუმენტის შინაარსის იდენტიფიკატორი; ის იცვლება, თუ დოკუმენტში ერთი ბიტი მაინც შეიცვლება. იდენტიფიკატორად, მაგალითად, შეიძლება გამოყენებულ იქნას დოკუმენტის შინაარსის MD5 ჯამი. როდესაც კლიენტი ითხოვს დოკუმენტს სერვერიდან, ETag მნიშვნელობა გადაეცემა პასუხში, მაგალითად:

HTTP/1.1 200 OK სერვერი: Selectel_Storage/1.0 Accept-Ranges: bytes ბოლო ცვლილება: ორშაბათი, 18 აგვისტო 2014 12:25:38 GMT X-დროის სტამპი: 1408364738.80296 Content-Control-4-LpengType: -Allow-Origin: * Access-Control-Expose-Headers: Last-Modified, ETag, X-Timestamp ETag: "ebef3343a7b152ea7302eef75bea46c3" თარიღი: ოთხ, 20 აგვისტო 2014 11:52:
იგივე დოკუმენტის ხელახლა მოთხოვნისას, ვალიდატორის შენახული მნიშვნელობა უკვე გადადის If-None-Match სათაურში:

GET / HTTP/1.1 ჰოსტი: example.org If-None-Match:"ebef3343a7b152ea7302eef75bea46c3"
თუ დოკუმენტი არ შეცვლილა, მაშინ სერვერი პასუხში დააბრუნებს მხოლოდ სათაურებს და 304 Not Modified კოდს. წინააღმდეგ შემთხვევაში, სერვერი დააბრუნებს კოდს 200 და გადასცემს დოკუმენტის ახალ ვერსიას, ასევე მისთვის ახალ ETag მნიშვნელობას.

ჩვენს საცავში და ETag იქმნება ფაილის ატვირთვისთანავე. ეს არის შინაარსის MD5 ჰეში. თუ შინაარსი იცვლება, მაშინ იცვლება ETag ასევე.

სუსტი ვალიდატორები არიან ისეთები, რომლებიც სულაც არ იცვლებიან ფაილის ყოველი ცვლილებისას.

სუსტი ვალიდატორის მაგალითია ბოლო შეცვლილი სათაური. ამ სათაურის მნიშვნელობა არის ფაილის ბოლოს შეცვლილი თარიღი. ჩვენს საცავში ის ავტომატურად დაინსტალირებულია. თუ სათაურში If-Modified-Since მიუთითებთ თარიღს არა უადრეს იმ თარიღზე, რომელიც ამჟამად შეიცავს Last-Modified სათაურში, მაშინ პასუხი ასევე იქნება 304 Not Modified.

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

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

Cache-Control სათაური max-age დირექტივით გამოიყენება ბრაუზერის ქეშის დროის დასაყენებლად ფაილის ასლისთვის, რომლის ორიგინალი ინახება საცავში. ამ სათაურის წყალობით, თქვენ შეგიძლიათ მნიშვნელოვნად გაზარდოთ საიტის ჩატვირთვის სიჩქარე - თუ ფაილი ქეშირებულია, ბრაუზერი მყისიერად აჩვენებს შინაარსს ქეშიდან საიტისთვის ერთი მოთხოვნის გარეშე.
ფაილის ქეშის დრო მითითებულია წამებში:

Cache-Control: max-age=7200
ნაჩვენებ მაგალითში ეს არის 7200 წამი (2 საათი). ჩვეულებრივ, CSS, JS და გამოსახულების ფაილები ქეშირებულია ამ გზით. სასურველია მათი სამუდამოდ ქეშირება და როცა შინაარსი შეიცვლება, შეცვალოთ ბმულები HTML-ში. RFC 2616 რეკომენდაციას იძლევა, რომ ასეთი ფაილების ქეშირება არა უმეტეს 1 წლის განმავლობაში:

Cache-Control: max-age=31536000
თუ გსურთ, რომ კონკრეტული ფაილი არ იყოს ქეშირებული, მაგრამ ყოველთვის დაბრუნდეს "ახალი", Cache-Control სათაური დაყენებულია შემდეგ მნიშვნელობაზე:

Cache-Control: no-cache
მასში მითითებულია, რომ ელემენტი საერთოდ არ უნდა იყოს ქეშირებული და კლიენტმა უნდა მოითხოვოს ის ყოველ ჯერზე, როცა ის მაღაზიაში შედის (ამ შემთხვევაში ფაილის ჩატვირთვის დრო გაიზრდება, რადგან ფაილის სხეული უნდა გადმოიტვირთოს).

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

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

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

თქვენ ასევე შეგიძლიათ დაამატოთ სიმბოლოების თვითნებური ნაკრები ფაილის ბმულებზე - მაგალითად, დროის შტამპი (http://example.com/script.js?timestamp_here) - და განაახლოთ ბმულები საიტის ყოველი განლაგებით. თუმცა, ამ მეთოდის გამოყენებისას არ არსებობს გარანტია, რომ ბრაუზერი არ გააკეთებს ზედმეტ მოთხოვნას: იმ ფაილებისთვისაც კი, რომელთა შინაარსი არ შეცვლილა, სხვა ბმული მიგვიყვანს (მთელი ბმული, მოთხოვნის პარამეტრებთან ერთად, არის ქეშირების გასაღები) და თქვენ მოგიწევთ მათი ხელახლა ჩამოტვირთვა.

HTML გვერდებისთვის სასურველია Cache-Control სათაური დააყენოთ no-cache. თუ თქვენ გჭირდებათ სასწრაფოდ შეცვალოთ რაიმე გვერდზე, და კლიენტმა უკვე დააგროვა ეს გვერდი (თანამედროვე ბრაუზერები ამას აკეთებენ ნაგულისხმევად), მაშინ კლიენტმა შეიძლება საერთოდ ვერ ნახოს ცვლილებები.

ეს განსაკუთრებით მნიშვნელოვანია CDN-ის გამოყენებისას: Akamai-ს CDN ინახავს ფაილებს შესაბამისი სათაურის გარეშე ნაგულისხმევად 24 საათის განმავლობაში. თქვენ, რა თქმა უნდა, შეგიძლიათ გაასუფთავოთ ქეში (იხ. ზემოთ), მაგრამ შესაბამისი მოთხოვნის გაგზავნიდან მაინც მოგიწევთ ლოდინი მინიმუმ 15 წუთის შემდეგ. ქეშის გარეშე მნიშვნელობის დაყენება დაგეხმარებათ თავიდან აიცილოთ შესაძლო პრობლემები - გვერდი ყოველთვის განახლდება. ბრაუზერები ამ შემთხვევაში კვლავ გამოიყენებენ If-None-Match (ან If-Modified-Since) სათაურებს და გვერდი, რომელიც არ შეცვლილა, ხელახლა არ ჩაიტვირთება.

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

Cache-Control სათაურის (ისევე, როგორც სხვა HTTP სათაურების) მნიშვნელობა ჩვენს საცავში შეიძლება დაყენდეს ვებ ინტერფეისის მეშვეობით:

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

Cache-Control-ის ნაცვლად შეგიძლიათ გამოიყენოთ Expires სათაური. მისი მნიშვნელობა მიუთითებს თარიღს RFC 1123 თარიღის ფორმატში, რის შემდეგაც ფაილი აღარ არის რელევანტური (მაგალითად: სამშაბათი, 2012 წლის 31 იანვარი 15:02:53 GMT). ამ თარიღამდე ბრაუზერი არ გაუკეთებს მოთხოვნას საიტზე, მაგრამ მიიღებს ფაილს ქეშიდან. ამ თარიღის შემდეგ, ფაილი კვლავ აიტვირთება.

შეკუმშვის საშუალებით შეგიძლიათ მნიშვნელოვნად დააჩქაროთ საიტის ჩატვირთვა. HTTP/1.1-დან დაწყებული, კლიენტები აცნობებენ შეკუმშვის მხარდაჭერილ მეთოდებს Accept-Encoding header-ში:

Accept-Encoding: gzip, deflate
სერვერის პასუხში, ინფორმაცია გამოყენებული შეკუმშვის მეთოდის შესახებ გადაიცემა Content-Encoding header-ში:

კონტენტის კოდირება: gzip
ერთ-ერთი ყველაზე პოპულარული და ყველაზე ხშირად გამოყენებული მეთოდი დღეს არის, რა თქმა უნდა, gzip. მასთან ერთად შეგიძლიათ მნიშვნელოვნად შეამციროთ ჩამოტვირთვის დრო. Gzip განსაკუთრებით კარგად მუშაობს ტექსტურ ფაილებთან: HTML, CSS, JS. შეკუმშვის წყალობით, ტექსტური ფაილების ზომა (და, შესაბამისად, გადაცემული ტრაფიკის რაოდენობა) მცირდება საშუალოდ 5-10-ჯერ. ეს საშუალებას გაძლევთ მნიშვნელოვნად გაზარდოთ გვერდის ჩატვირთვის სიჩქარე, რაც განსაკუთრებით მნიშვნელოვანია მობილური კლიენტებისთვის ნელი კავშირით.

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

Akamai CDN ნაგულისხმევად იყენებს gzip-ს ტექსტური ფაილების უმეტესობისთვის.

მინიფიკაცია არის ფაილიდან დამატებითი/სურვილისამებრ სიმბოლოების ამოღება მისი ზომის შესამცირებლად და ჩამოტვირთვის დროის შესამცირებლად. ამის გამო ფაილის ზომა მცირდება საშუალოდ 1,5-3-ჯერ. დღეს ფართოდ გავრცელებული ხდება არა მხოლოდ JS და CSS, არამედ სხვა ტიპის ფაილების (HTML, გრაფიკული ფაილები და ა.შ.) მინიმიზაციის პრაქტიკა.

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

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

ფუნქცია summ(first_param, second_param) ( return (first_param + second_param); )
შეგიძლიათ გადააქციოთ ის ფუნქციად s(a,b)(return(a+b)) და შემდეგ გამოიყენოთ s კოდში ჯამის ნაცვლად ყველგან, ამავდროულად მისი მუშაობის ლოგიკა მთლიანად შეინარჩუნოთ. თქვენ შეგიძლიათ ნახოთ, თუ როგორ მუშაობს JavaScript-ის მინიფიკაციის პროცედურა http://lisperator.net/uglifyjs/ ღია დემო განყოფილებაში.

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

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

შეერთება ასევე შეიძლება გამოყენებულ იქნას სურათის ჩატვირთვის დასაჩქარებლად. ეს შეიძლება გაკეთდეს ორი გზით: URL-ში მონაცემების ჩასმით და sprites-ის გამოყენებით.

მონაცემები ჩაშენებულია სპეციალური ტიპის URL-ის გამოყენებით - მონაცემები: URI. URI (უნივერსალური რესურსის იდენტიფიკატორი) შეიძლება გამოყენებულ იქნას როგორც img ტეგის src ატრიბუტში, ასევე ფონის სურათის URL-ში CSS-ში.

არსებობს სურათების მონაცემებად გადაქცევის ონლაინ ინსტრუმენტები: URI (იხილეთ, მაგალითად, და ).

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

Sprites ხელს უწყობს დატვირთვის დაჩქარებას, მაგრამ უნდა აღინიშნოს, რომ მათთან მუშაობა ხშირად რთულია. Sprite-ში თუნდაც მცირე ცვლილების შესატანად, თქვენ დაგჭირდებათ CSS-ში თანმხლები ცვლილების შეტანა.

JS პროექტების მშენებლობის თანამედროვე ინსტრუმენტებში (

შედგება სტატიკური html (htm, dhtml, xhtml) გვერდებისგან, რომლებიც ქმნიან ერთ მთლიანობას. შეიცავს (HTML-მონიშვნის სახით) ტექსტს, სურათებს, მულტიმედიურ შინაარსს (აუდიო, ვიდეო) და HTML ტეგებს. ტეგები არის როგორც სერვისი, რომელიც განკუთვნილია ბრაუზერისთვის, ასევე განკუთვნილია ინფორმაციის განთავსების, გარეგნობის ფორმირებისთვის და ჩვენებისთვის. საიტზე ყველა ცვლილება შეტანილია საიტის დოკუმენტების (გვერდების) საწყის კოდში, რისთვისაც თქვენ უნდა გქონდეთ წვდომა ვებ სერვერზე არსებულ ფაილებზე.

Დადებითი და უარყოფითი მხარეები

უპირატესობები

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

ნაკლოვანებები

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

თანამედროვე გამოყენება

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

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