როგორ მუშაობს HTTP პროტოკოლი?
sobes.tech AI
პასუხი AI-სგან
HTTP (Hypertext Transfer Protocol) — տվյալների փոխանցման կիրառական շերտի պրոտոկոլ, որն օգտագործվում է ռեսուրսներ ստանալու համար, ինչպիսիք են վեբ էջերը: Աշխատում է «քլիենտ-սերվեր» մոդելով:
Քլիենտը (հաճախ բրաուզեր) ուղարկում է հարցում սերվերին, իսկ սերվերը մշակում է հարցումը և ուղարկում պատասխան:
HTTP հաղորդագրության հիմնական տարրերը:
-
Սկիզբային տող: Կարգավորում է հաղորդագրության տիպը (հայց կամ պատասխան) և հիմնական պարամետրերը:
- Հայց: Մեթոդ (GET, POST, PUT, DELETE և այլ), ռեսուրսի ուղին, պրոտոկոլի տարբերակը:
- Պատասխան: Պրոտոկոլի տարբերակը, վիճակային կոդը (200 OK, 404 Not Found, 500 Internal Server Error և այլն), վիճակի տեքստային նկարագրությունը:
GET /index.html HTTP/1.1 // Հայցման սկիզբային տողի օրինակHTTP/1.1 200 OK // Պատասխան սկիզբային տողի օրինակ -
Համապարփակներ (Headers): պարունակում են հաղորդագրության և հաղորդագրության մարմնի մետա-տեղեկություններ: Յուրաքանչյուր համապարփակ ներկայացված է «ԱնունՀամապարփակ: արժեք» զույգով:
- Հայցման համապարփակներ: Host, User-Agent, Accept, Content-Type, Content-Length և այլ:
- Պատասխանային համապարփակներ: Content-Type, Content-Length, Server, Set-Cookie և այլն:
Host: example.com // Համապարփակ Host-ի օրինակ User-Agent: Mozilla/5.0 // User-Agent-ի օրինակ -
Անջատված տող: Բաժանում է համապարփակները հաղորդագրության մարմնից:
-
Հաղորդագրության մարմինը (Body): պարունակում է փոխանցվող տվյալները: կարող է բացակայել որոշ հարցումներում (օրինակ, GET) և պատասխաններում (օրինակ, 204 No Content): POST կամ PUT մեթոդներով հարցումներում մարմինը սովորաբար պարունակում է ուղարկվող տվյալները: Պատասխաններում մարմինը պարունակում է խնդրված ռեսուրսը (օրինակ, HTML կոդ, պատկերներ, JSON):
<!DOCTYPE html> <html> <head> <title>Example</title> </head> <body> <h1>Hello!</h1> </body> </html>
Հիմնական HTTP մեթոդները:
| Մեթոդ | Նկարագրություն | Օգտագործում |
|---|---|---|
| GET | Հարցում է ռեսուրսը նշված URL-ից: | Տվյալների ստացում, առանց սերվերի վիճակի փոփոխության: |
| POST | Ուղարկում է տվյալներ սերվերին մշակելու համար: | Ֆորմաների ուղարկում, ֆայլերի բեռնում, ռեսուրսների ստեղծում: |
| PUT | Թարմացնում կամ ստեղծում է ռեսուրս նշված URL-ով: | Մնացած ռեսուրսների թարմացում: |
| DELETE | Հեռացնում է ռեսուրսը նշված URL-ով: | Ռեսուրսների հեռացում: |
| HEAD | Հարցում է ռեսուրսի գլխագրերը առանց մարմնի: | Ռեսուրսի մետա-տեղեկությունների ստացում: |
HTTP — վիճակի չպահող (stateless) պրոտոկոլ է: Ամեն հարցում անկախ է: Վիճակի պահպանման համար օգտագործվում են մեխանիզմներ, ինչպիսիք են cookies և սեսիաներ։