Sobes.tech
Middle

როგორ მუშაობს HTTP პროტოკოლი?

sobes.tech AI

პასუხი AI-სგან

HTTP (Hypertext Transfer Protocol) — տվյալների փոխանցման կիրառական շերտի պրոտոկոլ, որն օգտագործվում է ռեսուրսներ ստանալու համար, ինչպիսիք են վեբ էջերը: Աշխատում է «քլիենտ-սերվեր» մոդելով:

Քլիենտը (հաճախ բրաուզեր) ուղարկում է հարցում սերվերին, իսկ սերվերը մշակում է հարցումը և ուղարկում պատասխան:

HTTP հաղորդագրության հիմնական տարրերը:

  1. Սկիզբային տող: Կարգավորում է հաղորդագրության տիպը (հայց կամ պատասխան) և հիմնական պարամետրերը:

    • Հայց: Մեթոդ (GET, POST, PUT, DELETE և այլ), ռեսուրսի ուղին, պրոտոկոլի տարբերակը:
    • Պատասխան: Պրոտոկոլի տարբերակը, վիճակային կոդը (200 OK, 404 Not Found, 500 Internal Server Error և այլն), վիճակի տեքստային նկարագրությունը:
    GET /index.html HTTP/1.1 // Հայցման սկիզբային տողի օրինակ
    
    HTTP/1.1 200 OK // Պատասխան սկիզբային տողի օրինակ
    
  2. Համապարփակներ (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-ի օրինակ
    
  3. Անջատված տող: Բաժանում է համապարփակները հաղորդագրության մարմնից:

  4. Հաղորդագրության մարմինը (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 և սեսիաներ։