Tuesday, 29 April 2014

Http protocol

HTTP (HyperText Transfer Protocol) нь WWW (World Wide Web)-ээр HyperText өгч авалцах хэлэлцээр(протокол) юм. Энэ нь хэрэглэгч-серверийн(client-server) хооронд хүсэлт-хариу(request-response) явуулах замаар явагдана. Хэрэглэгч (жишээ нь: web browser) сервер (жишээ нь: web site) лүү http хүсэлт явуулна. Сервер нь аль нэг хост компьютер дээр ажиллаж буй аппликейшн бөгөөд хэрэглэгчээс ирсэн хүсэлтийн дагуу хэрэглэгчийг хүссэн resource(html файл) -оор хангаж өгнө.
Http хүсэлт/Http request
Хэрэглэгчийн сервер лүү явуулах хүсэлт нь дараах бүтэцтэй байна.
  • Request line : http комманд, хүсч буй resource-ийн URI, http version. Жишээ: GET  /index.html  HTTP/1.0
  • Header : хүлээн авах контентийн формат. Жишээ:
  • User-Agent: Mozilla/2.03Gold(WinNT:  I)
    Accept :  text/html,   img/gif
  • Empty : header-ын төгсгөлийг илтгэнэ.
  • Message body : нэмэлт контент
Http хариу/Http response
Серверээс хэрэглэгчид өгөх хариу нь дараах бүтэцтэй байна.
  • Status line : http version, хариу код болон түүний тайлбар. Жишээ: HTTP/1.0   200   OK  /амжиллтай болсныг илтгэнэ/
  • Header : сервер болон явуулсан контентийн мэдээлэл. Жишээ:
  • Date:Tue, 28 Mar 2000 06:18:26  GMT
    Server: Apache/1.3.9 (unix)  tomcat/1.0  PHP/3.0.12
    Last-Modified: Tue, 21  Sep 1999  02:35:00 GMT

  • Empty : header-ын төгсгөлийг илтгэнэ.
  • Message body : нэмэлт контент

Http комманд/Http method
Сервер нь хэрэглэгчийг өөрийх нь илгээсэн URI (unified resource indentifier)/URL(unified resource locator) дээр байгаа resource-оор хангах мөн тухайн resource руу чиглэсэн хэрэглэгчийн өгсөн коммандыг гүйцэтгэж гарсан үр дүн хэрэглэгч рүү явуулдаг. Http хэлэлцээрт тодорхойлсон гол коммандууд нь
  • Get : тухайн uri дахь resource-ыг үзүүлэх
  • Post :шинэ resource үүсгэх
  • Put :тухайн uri дахь resource-ыг засах
  • Delete :тухайн uri дахь resource-ыг устгах
Http 1.0 болон  Http 1.1 хоёрын ялгаа
Http-ийн онцлог нь хүсэлт явуулаад хариуг хүлээн авмагц сокет холбоогоо тасалдаг. Энэ тогтолцоог дараах зурган дээр тайлбарлав.
Хэрвээ дотроо зурган файл агуулсан баримтыг хүлээн авах бол эхлээд баримтыг хүлээн авахын тулд нэг холболт үүсгээд баримтыг хүлээн авмагцаа холболтоо таслана. Дараа нь зурган файлыг хүлээн авахын тулд холболт үүсгэнэ. Доорх зургийг харна уу.


Харин Http1.1 нь иймэрхүү олон контенттой баримтыг хүлээн авахдаа ганц удаагийн холболт хийж тэр нь бүх контентыг ээлж дараалан хүлээн автал холбоотой байдаг. Доорх зургийг харна уу.

Http-ийн энэ онцлогоос болж http сервер нь өмнө нь холбогдсон хэрэглэгч шинээр холбогдож байгаа хэрэглэгч хоёроо ялгах боломжгүй байдаг. Үүнийг шийдвэрлэхийн тулд
  • Session
  • Cookie
  • Hidden from field
  • URL rewriting
гэх мэт аргууд бий.
Ашигласан линкүүд
англи хэл дээр : http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
солонгос хэл дээр: http://darkmirr.egloos.com/viewer/1237288, http://truth.yust.edu/kss/jsp/jsp1-7.htm

No comments:

Post a Comment