Hypertext Transfer Protocol: Засвар хоорондын ялгаа

Content deleted Content added
No edit summary
No edit summary
Мөр 16:
– Telnet Protocol: Телнэт хэсгийг нээхэд хэрэглэгддэг.
 
=== HTTP протоколын тухай товч... түүх ===
Өнөөгийн хамгийн хэрэгцээт зүйл болох "World Wide Web" 1989 онд төслийг  Berners Lee анх санал болгосон. Протоколын анхны хувилбар нь зөвхөн нэг аргыг, тухайлбал GET, серверээс хариу үргэлж HTML хуудсыг шаарддаг байв.
 
HTTP эхний баримтжуулсан хувилбар HTTP V0.9 (1991) байсан юм. Дэйв Raggett 1995 онд HTTP Ажлын хэсэг (HTTP АХ) удирдсан болон өргөтгөсөн үйл ажиллагаа, өргөтгөсөн хэлэлцээ, баян мета-мэдээлэл, нэмэлт арга барил, толгойн талбаруудыг нэмж илүү үр дүнтэй болсон нь аюулгүй байдлын протокол нягт уялдаатай нь протоколыг өргөжүүлэх хүссэн юм. <nowiki>RFC 1945</nowiki> онд албан ёсоор танилцуулж, 1996 онд HTTP V1.0 хүлээн зөвшөөрсөн<ref name=":0">1</ref>
<references group="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol" />. HTTP АХ 1995 оны арванхоёрдугаар сард шинэ стандартыг хэвлэн нийтлэх төлөвлөсөн, урьдчилан стандарт HTTP / 1.1 дэмжих дараа нь хөгжиж буй <nowiki>RFC 2068</nowiki> дээр суурилсан (HTTP-NG гэж нэрлэдэг) үүний дараа  1996 оны эхээр хөтөч гол хөгжүүлэгчдийн баталсан байна гуравдугаар сарын 1996, өмнөх стандарт HTTP / 1.1 Arena-д дэмжигдсэн байна, Netscape 2.0, [8] Netscape Navigator алт 2.01, [8] Мозаик нь 2.7, Lynx 2.5, интернет-д Explorer 2.0. 1996 оны гуравдугаар сард нэг вэб хостинг компани нь интернэт дээр ашиглагдаж байгаа хөтчүүдийг 40 гаруй хувь гэж мэдээлж байсан HTTP 1.1 нийцсэн.  1996 оны зургадугаар сард  ижил вэб хостинг компани, бүх хөтчүүд 65% нь серверүүдэд хандахад бэлэн гэж мэдээлсэн бол HTTP байсан /1.1 нийцсэн. HTTP / 1.1 стандарт <nowiki>RFC 2068</nowiki>-д заасан албан ёсоор HTTP нь January 1997 Сайжруулалт болон шинэчлэлтүүд гарсан юм шиг / 1.1 стандарт нь 1999 оны зургадугаар сард <nowiki>RFC 2616</nowiki>-ийн дагуу гарсан байна<ref name=":1">2</ref>.
 
2007 онд HTTPbis ажлын хэсэг, хэсэгчлэн, шинэчлэх болон HTTP / 1.1 тодорхойлолт тодруулах байгуулагдсан. 2014 оны зургадугаар сард, АХ <nowiki>RFC 2616</nowiki> obsoleting шинэчилсэн зургаан хэсэг тодорхойлолт гаргасан.
* <nowiki>RFC 7230</nowiki>, ''HTTP/1.1: Мессежтэй холбоотой систем болон чиглэл''
* <nowiki>RFC 7231</nowiki>, ''HTTP/1.1: Семантиз болон агуулга''
* <nowiki>RFC 7232</nowiki>, ''HTTP/1.1: Нөхцөлт хүсэлт''
* <nowiki>RFC 7233</nowiki>, ''HTTP/1.1: Үечилсэн хүсэлт''
* <nowiki>RFC 7234</nowiki>, ''HTTP/1.1: Кеш''
* <nowiki>RFC 7235</nowiki>, ''HTTP/1.1: Нотолгоо''
 
=== HTTP горим ===
HTTP горим нь хурал сүлжээний хүсэлт, хариу гүйлгээний дараалал юм. HTTP клиент сервер дээр нь тодорхой порт уруу Transmission Control Protocol (TCP) холболт тогтоох замаар хүсэлт эхлүүлнэ (ихэвчлэн порт нь 80, хааяа порт нь 8080, TCP болон UDP портын дугаарын жагсаалтыг үзнэ үү). HTTP сервер нь үйлчлүүлэгчийн хүсэлтийг хүлээн авч,  хүсэлтийг серверт  "HTTP / 1.1 200 OK" гэсэн статус шугам, мөн өөрийн гэсэн зурвас буцааж илгээж байдаг. Энэ зурваст бие ч алдааны мэдээлэл болон бусад мэдээллийг мөн буцаж болно, хүссэн эх үүсвэр нь ихэвчлэн юм<ref name=":2">3</ref>
 
'''Hypertext Transfer Protocol (HTTP - Гипертекст Дамжуулалтын Протокол)''' нь [[:en:Hypertext_Transfer_Protocol|дэлхий нийтийн вэбэд]] (WWW) файлуудыг (текст, график, дүрс, хөгжим, видео ба бусад мултимедиа файлуудыг ) дамжуулахад зориулсан дүрмүүдийн бүрдэл юм. Веб хэрэглэгч нь Веб хөтчөө нээмэгц HTTP-г шууд бусаар хэрэглэж байгаа хэрэг юм.
Line 28 ⟶ 43:
[[Файл:Picture3.jpg.png|thumbnail|'''''Зураг 2. Хүсэлт ба хариу үйлдэл''''']]
 
=== HTTP client-serverнотолгоо ===
HTTP нь үндсэн хандалтын баталгаа болгон нэвтрэлт танилт хэд хэдэн тогтолцоог хангаж, сорилт, хариу арга механизмыг ашиглан үйл ажиллагаа явуулж хандалтын танилт эзэмших үүгээр хүссэн агуулга үйлчлэх өмнө сервер тодорхойлж, бэрхшээл асуудлуудыг шийдвэрлэж байдаг. HTTP асуудал-хариу нэвтрэлт танилт схем нь өргөтгөх багц, үйлчлүүлэгч хүсэлт татгалзан гаргах тухай сервер ашиглаж болно дамжуулан нэвтрэлт танилтын мэдээллээр хангах нь үйлчлүүлэгч, хандалтын хяналт болон нэвтрэлт танилт нь ерөнхий хүрээг өгдөг.
 
=== HTTP үйлчлүүлэгч-сервер ===
:''HTTP нь [[:en:Hypertext_Transfer_Protocol#Client_request|"үйлчлүүлэгч-сервер"]]'' гэсэн гол зарчимаар үүсгэгддэг ба үйлчлүүлэгч (хөтөч) нь сервер (apache, nginx, ligthttp) рүү хүсэлт илгээдэг ба хэрвээ амжилттай холбогдож чадвал хүсэлтэнд хариу болгон сервер үйлчлүүлэгч рүү мэдээлэл илгээнэ. Мэдээлэл гэдгийн дор бид бараг юуг ч ойлгож болно. Энэ нь дээр дурдсан "уян хатан" шинж чанартай холбоотой. Протокол урсгал аудио, видео дамжуулах чадвартай, эсвэл бусад протоколуудад зориулсан дамжуулагчийн үүргийг ч гүйцэтгэж болно. Тэгэхээр клиент сервер 2-ийн хооронд ямар харилцаа холбоо явагддаг талаар авч үзье.
Үйлчлүүлэгчээс илгээгдэх хүсэлт нь дараах 3 хэсгээс бүрддэг.
Line 38 ⟶ 56:
Үүнд: хүсэлт ба хариу арга хэмжээ. Үйлчлүүлэгч HTTP хүсэлт үүсгэдэг хариуд нь сервер хариу (зурвас) өгдөг.
Зарим нэг шинэ зүйлүүдийг танилцуулсан одоогийн хувилбар нь HTTP нь 1.1 юм. Миний бодлоор, эдгээрээс хамгийн чухал нь: байнга нээлттэй холболт, шинэ өгөгдөл дамжуулах механизм chunked transfer encoding, түр тогтоогчид зориулсан шинэ толгойууд юм. Эдгээрээс зарим нэгийг нь энэ нийтлэлийн хоёр дахь хэсэгт авч үзэх болно.
==Гипер холбоос (URL)==
 
=== Гипер холбоос (URL)-ын тухай товч ===
Веб харилцааны үндсэн гол хэсэг нь [[:en:Hyperlink|гипер холбоосоор]] дамжин хүргэгддэг холбоос юм. URL хаяг гэж юу болох талаар та нар аль хэдийн ойлголттой босон байгаа гэдэгт би итгэлтэй байна гэсэн ч бүрэн зураглалын талаар товч ганц хоёр үг хэлмээр байна.
 
Гипер холбоос(URL) нь их энгийн бүтэцтэй бөгөөд дараах хэсгүүдээс бүрэлдэнэ.
[[Файл:Picture4.jpg.png|thumbnail|'''''Зураг 3. Гипер холбоосын бүтэц''''']]
Энгийн холболтонд зориулагдсан протокол http байдаг ба харин илүү аюулгүй хамгаалалт сайтай өгөгдөлүүдийг солилцоход https нь ашиглагддаг. Анхдагч порт нь 80. Цаашлаад сервер дээрх нөөц рүү хүрэх зам нь гарах ба параметрүүдийн гинжин холбоо үүснэ.
 
=== Арга замууд ===
Line 60 ⟶ 69:
*'''TRACE''' – Олон тооны оролтын цэгүүд ба серверийн төлөөлөлүүдээр хүсэлт дамжих үед тус бүрдээ өөрийн мэдээлэлүүдийг өөртөө агуулж байдаг IP, DNS. Энэ аргаар бүх түр зуурын мэдээлэлүүдийг харж болно.
*'''OPTIONS''' – энэ нь серверийн боломж, түүний параметрүүд болон тухайн нөөцөд тохирсон тохиргоо зэргийг тодорхойлоход ашиглагдана
===Гипер холбоос (URL)-ын тухай товч===
Веб харилцааны үндсэн гол хэсэг нь [[:en:Hyperlink|гипер холбоосоор]] дамжин хүргэгддэг холбоос юм. URL хаяг гэж юу болох талаар та нар аль хэдийн ойлголттой босон байгаа гэдэгт би итгэлтэй байна гэсэн ч бүрэн зураглалын талаар товч ганц хоёр үг хэлмээр байна.
 
Гипер холбоос(URL) нь их энгийн бүтэцтэй бөгөөд дараах хэсгүүдээс бүрэлдэнэ.
[[Файл:Picture4.jpg.png|thumbnail|'''''Зураг 3. Гипер холбоосын бүтэц''''']]
Энгийн холболтонд зориулагдсан протокол http байдаг ба харин илүү аюулгүй хамгаалалт сайтай өгөгдөлүүдийг солилцоход https нь ашиглагддаг. Анхдагч порт нь 80. Цаашлаад сервер дээрх нөөц рүү хүрэх зам нь гарах ба параметрүүдийн гинжин холбоо үүснэ.
 
=== Гипер холбоос оруулах ===
Line 65 ⟶ 81:
[[Файл:Hyperlinks.jpg|thumb|'''''Зураг 4. Гипер холбоосын жишээ''''']]
Жишээ нь:<body>       <a href="index.html"> Энд дар </a></body>эсвэл:<body>       <a href="files/index.html"> Энд дар </a></body>эсвэл:<body>       <a href="http://www.baixguisite.com/index.html"> Энд дар </a></body>г.м. Энд буй href нь <a> таагийн атрибут бөгөөд гипер холбоосын хаягийгтодорхойлдог нь харагдаж байна.
 
=== Мэдээлэл хүлээн авагч ===
Мэдээлэл хүлээн авагч нь дараах хэсгээс бүрдэнэ:
* хүсэлт шугам (жишээ нь, GET /images/logo.png HTTP / 1.1, серверээс /images/logo.png хэмээх нөөцийг хүсэлт).
* Авагч толгой талбарууд нь (жишээ нь, хүлээн авах, хэл: EN).
* Хоосон мөр байна.
* Нэмэлт зурвас байгууллага.
Мэдээлэл хүлээн авагч болон бусад толгойн орд байх ёстой эцсийн бүрийн <CR> <LF> (энэ нь мөр дууссан тэмдэгт дараа нь тэрэг буцах тэмдэгт байна). хоосон мөр зөвхөн <CR> <LF> бүрдэх ёстой бөгөөд өөр ямар ч хоосон зай. HTTP / 1.1 протоколд онд хост бусад бүх толгой талбарууд заавал байдаг.
 
Зөвхөн зам нэрийг агуулсан хүсэлт шугам RFC нь HTTP / 1.0 тодорхойлолтод өмнө HTTP үйлчлүүлэгч нь нийцтэй хадгалах сервер хүлээн зөвшөөрсөн байна.
 
=== Хариу мэдээлэл ===
Хариу мэдээлэл нь дараах хэсгээс бүрдэнэ:
* Байдлыг илэрхийлэгч шугам (харилцагчийн хүсэлтийг амжилттай гэдгийг харуулж байна жишээ нь HTTP / 1.1 200 OK) статус код болон шалтгаан нь зурвас орно.
* Хариу толгой талбарууд нь (жишээ нь, Content-Type: текст / HTML).
* Хоосон мөр байна.
* Нэмэлт зурвас байгууллага.
Байдлыг илэрхийлэгч шугам болон бусад толгой талбар байх ёстой бүхий л эцсийн <CR> <LF>. хоосон мөр зөвхөн <CR> <LF> болон өөр ямар ч зайгаар нь Энэ чанд шаардлага бүрдсэн байх ёстой. <CR> <LF> зэрэг зарим мэдээ байгууллагуудын дотор бусад системийн шугам завсарлагааны тууштай ашиглах суларч байна
 
=== Серверийн хариу мэдээлэл ===
HTTP/1.1 200 OK Date: Mon, 23 May 2005 22:38:34 GMT Content-Type: text/html; charset=UTF-8 Content-Encoding: UTF-8 Content-Length: 138 Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux) ETag: "3f80f-1b6-3e1cb03b" Accept-Ranges: bytes Connection: close <html> <head> <title>An Example Page</title> </head> <body> Hello World, this is a very simple HTML document. </body> </html>
 
=== Илүү дэлгэрэнгүй мэдээллийг: ===
* [[:en:Basic_access_authentication|Basic access authentication]]
* [[:en:Constrained_Application_Protocol|Constrained Application Protocol]] – A semantically similar protocol to HTTP but used UDP or UDP-like messages targeted for devices with limited processing capability. Re-uses HTTP and other internet concepts like [[Internet media type]] and web linking (<nowiki>RFC 5988</nowiki>)<sup>[[Hypertext Transfer Protocol|[32]]]</sup>
* [[:en:Content_negotiation|Content negotiation]]
 
=== Тэмдэглэл ===
<ref name=":0" />  Tim Berners-Lee. "The Original HTTP as defined in 1991". World Wide Web Consortium. Retrieved 24 July 2010.
 
<ref name=":1" /> Raggett, Dave. "HTTP WG Plans". World Wide Web Consortium. Retrieved 29 September 2010.
 
<ref name=":2" /> Berners-Lee, Tim; Fielding, Roy T.; Nielsen, Henrik Frystyk. "Method Definitions". Hypertext Transfer Protocol -- HTTP/1.0. IETF. pp. 30-32. sec. 8. <nowiki>RFC 1945</nowiki>.
 
Гадаад линкүүд
* [https://www.w3.org/Protocols/History.html A detailed technical history of HTTP.]
* [https://www.w3.org/Protocols/DesignIssues.html Design Issues by Berners-Lee when he was designing the protocol.]
* [https://www.w3.org/Protocols/Classic.html list of other classic documents recounting the early protocol history]
 
[[Ангилал:HTTP| ]]