18.
ინსტრუმენტები - HTTP
-- HTTP = ინტერნეტში ინფორმაციის გადაცემის პროტოკოლი -- HTTPS = ინფორმაციის დაშიფრული სახით გადაცემის პროტოკოლი -- TCP/IP = საბაზო პროტოკოლების ძირეული ნაკრები, რომელზე დაფუძნებითაც მუშაობს HTTP/HTTPS პროტოკოლები. კავშირისთვის ძირითადად გამოიყენება პორტი N80 -- ინფორმაციის მიმოცვლა ხდება კლიენტ-სერვერს შორის, სადაც შუაში შესაძლებელია მრავალი მაკავშირებელი პროქსი-სერვერი იყოს. კლიენტის როლს როგორც წესი ბრაუზერი ასრულებს. -- HTTP მოთხოვნა შედგება 3 ნაწილისგან: 1. საწყისი სტროფი, რომელიც შეიცავს მოთხოვნის ან პასუხის პარამეტრებს მეთოდი + URL + HTTP/ვერსია მეთოდებია GET, HEAD, POST, PUT, DELETE,CONNECT, OPTIONS, TRACE, PATCH 2. სათაური, რომელშიც არის აღწერა და სხვა მომსახურე ინფორმაცია. ნიმუში: Server: Apache/2.2.11 (Win32) PHP/5.3.0 Last-Modified: Sat, 16 Jan 2010 21:16:42 GMT Content-Type: text/plain; charset=windows-1251 Content-Language: ka 3. კონტენტი, ანუ გადასაცემი ინფორმაცია HTTP-სთან მუშაობა ხდება DevTools-ში Network განყოფილებაში, სადაც შეგვიძლია კონტექსტური მენიუდან ჩავამატოთ ცხრილის სვეტები: - Method: გამოძახების მეთოდი(Get, Post) - Status: სერვერის მხრიდან დაბრუნებული პასუხის სტატუსი(200 OK, 404 error) - Scheme: ტიპი(https) - Domain: შეერთების ლინკი - Type: დოკუმენტის ტიპი(font, document, script, png) - Initiator: გამომძახებელი - Size: დოკუმენტის ზომა - Time: ჩატვირთვის დრო - Priority: ჩატვირთვის პრიორიტეტულობა - Waterfall: ჩატვირთვის პროცესი ვიზუალურად - Name სვეტში დაწკაპუნებით გამოვა სრული ინფორმაცია ჩამოტვირთულ მასალაზე(Header, Preview, Response, Initiator, Timing, Cookies) ==== HTTP პროტოკოლის მუშაობის საფეხურები ==== 1. მისამართი URL იწერება ბრაუზერში 2. ბრაუზერი ეძებს საჭირო IP მისამართს, სადაც განლაგებულია მოთხოვნილი რესურსი 3. ბრაუზერი აგზავნის HTTP მოთხოვნას. მოთხოვნის ნიმუში: GET/index.html HTTP/1.1 Host: www.example.com აქ GET არის ინფორმაციის მოთხოვნა, index.html არის რესურსის მისამართი სერვერზე, HTTP/ 1.1 არის პროტოკოლისა და ვერსიის მაჩვენებელი, Host არის ჰოსტინგის აღმნიშვნელი, www.example.com არის დომენის სახელი. 4. სერვერი აბრუნებს HTTP პასუხს, მაგალითად: HTTP/1.1 200 ОК Content-Type: text/html; charset=UTF-8 Content-Length: 208 აქ 200 OK არის მოთხოვნის წარმატებით დამუშავების კოდი, Content-Type აჩვენებს რა ტიპის დოკუმენტია(აქ text/html) გაგზავნილი, Content-Length აჩვენებს დოკუმენტის ზომას ბაიტებში HTTP პროტოკოლის მუშაობის თავისებურებები HTTP-კლიენტი, ანუ ბრაუზერი, აგზავნის HTTP-მოთხოვნას და ელოდება პასუხს. სერვერი ამუშავებს მოთხოვნას და აგზავნის პასუხს, რის შემდეგაც კავშირი წყდება. ყოველ ახალ მიმართვაზე ახლიდან ხდება დაკავშირება. HTTP არ არის დამოკიდებული მოწყობილობაზე, საჭიროა მხოლოდ გაგზავნილი კონტენტის ტიპის მითითება. HTTP-ს არ აქვს მდგომარეობის(stateless) სტატუსი, კლიენტ-სერვერის კავშირი არის მხოლოდ მოთხოვნის დროს. HTTP მეთოდები: 1. GET = მოთხოვნის გაგზავნა 2. POST = გამოიყენება მონაცემთა გადაცემისათვის 3. HEAD = ანალოგიურია GET-ის, მაგრამ არ აქვს კონტენტი. 4. PUT = გამოიყენება ინფორმაციის ჩატვირთვისათვის 5. PATCH = ანალოგიურია PUT-ისა, გამოიყენება მხოლოდ რესურსის ფრაგმენტის მიმართ 6. DELETE = შლის რესურსს 7. TRACE = მოთხოვნის დაბრუნებისას აჩვენებს შუალედური სერვერების მიერ დამატებულ ინფორმაციას 8. CONNECT = გამოიყენება დამაკავშირებელი TCP/IP შეერთებისთვის(Tunneling), რომლის საშუალებითაც მოხდება მონაცემების ტრანსპორტირება. 9. OPTIONS = გამოიყენება სამიზნე რესურსის HTTP და სხვა პარამეტრების მისაღებად სერვერის მხრიდან მოსული Response status code კოდები 1xx = საინფორმაციო სახის კოდები 2xx = წარმატებით შესრულებული მოთხოვნა 3xx = გადამისამართებები 4xx = შეცდომა კლიენტის მხარეს 5xx = შეცდომა სერვერის მხარეს 200 = მოთხოვნა დადასტურდა წარმატებით. 201 Webpage Created = მოთხოვნის დადასტურება წარმატებით, გამოიყენება PUT და POST მოთხოვნის შემთხვევაში. 202 Accepted = მოთხოვნა მიღებულია დასამუშავებლად, მაგრამ არ დასრულებულა 204 No Content = არ არის კონტენტი(არ გადაიცემა) 206 Partial Content = ნაწილობრივი კონტენტის გადაცემა 301 Moved Permanently = გადამისამართება სხვა URL-ზე 304 Not Modified = მოთხოვნილი კონტენტი უკვე არის ბრაუზერში და არ არის საჭირო სერვერიდან განახლება 400 Bad Request = მოთხოვნა არასწორია. 401 Unauthorized = შეცდომა, საჭიროა აუტენთიფიკაცია. 403 Forbidden = რესურსი აკრძალულია 404 Not Found = არ მოიძებნა მოთხოვნილი რესურსი. 405 Method Not Allowed = მოთხოვნილი მეთოდი არასწორია. 409 Conflict = კონფლიქტური მოთხოვნა. 426 Upgrade Required = მოთხოვნა განახლებაზე 500 Internal Server Error = სერვერის მხრიდან შეცდომა. 501 Not Implemented = სერვერს არ აქვს შესაბამისი მხარდაჭერა 503 Service Unavailable = საიტის ტექნიკური პრობლემა 507 Insufficient Storage = მეხსიერების უკმარისობა