Հիպերտեքստի փոխանցման արձանագրությունը տրամադրում է ցանցային արձանագրության ստանդարտ, որը վեբ բրաուզերներն ու սերվերները օգտագործում են հաղորդակցվելու համար: Դուք տեսնում եք HTTP, երբ այցելում եք կայք, քանի որ արձանագրությունը հայտնվում է URL-ում (օրինակ՝
Այս արձանագրությունը նման է մյուսներին, օրինակ՝ ֆայլերի փոխանցման արձանագրությունը, քանի որ այն օգտագործվում է հաճախորդի ծրագրի կողմից՝ հեռավոր սերվերից ֆայլեր պահանջելու համար: HTTP-ի դեպքում վեբ զննարկիչը վեբ սերվերից պահանջում է HTML ֆայլեր, որոնք այնուհետև զննարկիչում ցուցադրվում են տեքստով, պատկերներով, հիպերհղումներով և հարակից ակտիվներով:
Քանի որ բրաուզերները հաղորդակցվում են HTTP-ի միջոցով, դուք սովորաբար կարող եք արձանագրությունը թողնել URL-ից, երբ մուտքագրեք այն դիտարկիչի հասցեագոտում:
HTTP-ի պատմություն
Tim Berners-Lee-ն ստեղծեց նախնական HTTP ստանդարտը 1990-ականների սկզբին, որպես իր աշխատանքի մի մաս՝ բնօրինակ Համաշխարհային ցանցի սահմանման գործում: 1990-ականներին գործարկվել են երեք հիմնական տարբերակներ՝
- HTTP 0.9. հիմնական հիպերտեքստային փաստաթղթերի աջակցություն:
- HTTP 1.0. ընդլայնումներ՝ հարուստ կայքերին աջակցելու համար:
- HTTP 1.1. Մշակված է HTTP 1.0-ի աշխատանքի սահմանափակումները լուծելու համար, որոնք նշված են Internet RFC 2068-ում:
Վերջին տարբերակը՝ HTTP 2.0-ը, դարձավ հաստատված ստանդարտ 2015 թվականին: Այն պահպանում է հետընթաց համատեղելիությունը HTTP 1.1-ի հետ, սակայն առաջարկում է կատարողականության լրացուցիչ բարելավումներ:
Չնայած ստանդարտ HTTP-ն չի գաղտնագրում ցանցով ուղարկվող երթևեկությունը, HTTPS ստանդարտը գաղտնագրում է ավելացնում HTTP-ին՝ Secure Sockets Layer-ի կամ ավելի ուշ՝ Transport Layer Security-ի միջոցով:
Ինչպես է աշխատում
HTTP-ը TCP-ի վրա կառուցված կիրառական շերտի արձանագրություն է, որն օգտագործում է հաճախորդ-սերվեր հաղորդակցման մոդել: HTTP հաճախորդները և սերվերները հաղորդակցվում են հարցումների և պատասխանների հաղորդագրությունների միջոցով: HTTP հաղորդագրությունների երեք հիմնական տեսակներն են՝ GET, POST և HEAD:
- HTTP GET. Սերվեր ուղարկված հաղորդագրությունները պարունակում են միայն URL: URL-ի վերջում կարող են ավելացվել զրոյական կամ ավելի ընտրովի տվյալների պարամետրեր: Սերվերը մշակում է URL-ի կամընտիր տվյալների հատվածը, եթե առկա է, և արդյունքը (վեբ էջ կամ վեբ էջի տարր) վերադարձնում է դիտարկիչ:
- HTTP POST. Հաղորդագրությունները տեղադրում են ցանկացած կամընտիր տվյալների պարամետր հարցումի հաղորդագրության մեջ, այլ ոչ թե ավելացնում դրանք URL-ի վերջում:
- HTTP HEAD. հարցումներն աշխատում են այնպես, ինչպես GET հարցումները: URL-ի ամբողջական բովանդակությամբ պատասխանելու փոխարեն, սերվերը հետ է ուղարկում միայն վերնագրի տեղեկատվությունը (պարունակվում է HTML բաժնում):
Բրաուզերը սկսում է կապը HTTP սերվերի հետ՝ գործարկելով TCP կապ սերվերի հետ: Վեբ զննարկման նիստերը լռելյայն օգտագործում են սերվերի պորտը 80, թեև դրա փոխարեն երբեմն օգտագործվում են այլ նավահանգիստներ, ինչպիսիք են 8080-ը:
Սեսիան հաստատելուց հետո դուք ակտիվացնում եք HTTP հաղորդագրությունների ուղարկումը և ստացումը` այցելելով վեբ էջ:
HTTP-ն այն է, ինչ կոչվում է քաղաքացիություն չունեցող համակարգ: Սա նշանակում է, որ, ի տարբերություն այլ ֆայլերի փոխանցման արձանագրությունների, ինչպիսին է FTP-ն, HTTP կապն անջատվում է հարցումն ավարտելուց հետո: Այսպիսով, այն բանից հետո, երբ ձեր վեբ բրաուզերը ուղարկում է հարցումը և սերվերը պատասխանում է էջին, կապը փակվում է:
Խնդիրների վերացում
HTTP-ով փոխանցվող հաղորդագրությունները կարող են ձախողվել մի քանի պատճառներով.
- Օգտվողի սխալ։
- Վեբ բրաուզերի կամ վեբ սերվերի անսարքություն։
- Սխալներ վեբ էջերի ստեղծման ժամանակ։
- Ցանցի ժամանակավոր անսարքություններ։
Երբ այս ձախողումները տեղի են ունենում, արձանագրությունը նշում է ձախողման պատճառը և զննարկիչին հաղորդում է սխալի կոդ, որը կոչվում է HTTP կարգավիճակի տող/կոդ: Սխալները սկսվում են որոշակի թվից՝ ցույց տալու համար, թե դա ինչ տեսակի սխալ է։
Օրինակ, ձախողման կոդի հետ կապված սխալները, որոնք սկսվում են չորսով, ցույց են տալիս, որ էջի հարցումը չի կարող պատշաճ կերպով ավարտվել, կամ որ հարցումը պարունակում է սխալ շարահյուսություն: Որպես օրինակ, 404 սխալները նշանակում են, որ վեբ էջը հնարավոր չէ գտնել. որոշ կայքեր նույնիսկ առաջարկում են զվարճալի մաքսային 404 սխալի էջեր: