12-22-2008
|
|
مسئول ارشد سایت ناظر و مدیر بخش موبایل
|
|
تاریخ عضویت: Sep 2007
محل سکونت: تهرانپارس
نوشته ها: 8,211
سپاسها: : 8,720
6,357 سپاس در 1,362 نوشته ایشان در یکماه اخیر
|
|
Http به زبان ساده - يكشنبه 01 دي 1387 - ساعت 21:03
يكشنبه 01 دي 1387 - ساعت 21:03
شماره خبر:
100957549341
Http به زبان ساده - يكشنبه 01 دي 1387 - ساعت 21:03
حتما تابهحال براي شما پيش آمده است كه از خود بپرسيد اين http:// كه در ابتداي آدرس وبسايتها ميگذارند يعني چه؟ كلمهاي كه قبل از :// ميآيد، پروتكل انتقال پيام ميان سرويسدهنده و سرويسگيرنده را مشخص ميكند. از پركاربردترين اين پروتكلها، HTTP است. همانطور كه از نام HTTP1 برميآيد، سرويسي استاندارد براي فرستادن درخواست و دريافت پاسخ بين سرويسدهنده و سرويسگيرنده است. در اينجا سرويسگيرنده كاربر هدف و سرويسدهنده وبسايت است.
هر درخواست HTTP از سمت سرويسگيرنده (كه ممكن است به فرم ربات جستجوگر، مرورگر اينترنت و ... باشد) بهعنوان كارگزار كاربر2 تعريف ميشود. سرويسدهندهاي كه پاسخ ميدهد (و ممكن است اين پاسخ بهشكل تصوير، متن و حتي فايل باشد)، سرور مبدا3 ناميده ميشود. در اين ميان ممكن است كه كارگزار كاربر و سرور مبدا از واسطهاي متفاوتي مانند پروكسيها، درگاههاي شبكه4و تونلها استفاده كنند.
HTTP ملزم به استفاده از پشته TCP/IP و لايههاي آن نيست، با اين وجود محبوبترين پروتكل در اينترنت است. درواقع اين ويژگي HTTP است كه ميتواند روي هر پروتكل ديگري در اينترنت يا شبكههاي داخلي پيادهسازي شود.
شيوه عملكرد HTTP بهطور ساده بهاين صورت است:
سرويسگيرنده، درخواست جديدي روي پروتكل TCP و پورتي خاص (بهطور پيشفرض 80 در نظر گرفته ميشود) ايجاد ميكند. سرويسدهنده HTTP روي آن پورت بهانتظار مينشيند تا سرويسگيرنده درخواست خود را ارسال كند. سرور بهمحض دريافت درخواست، پيامي كه مشخصكنندهوضعيت5 است (مانند "OK 200 1.1HTTP/)"، از طرف خود بازميگرداند. در مرحله بعد، با توجه به درخواست ممكن است بدنهپيام ارسالي پيام خطا يا اطلاعات درخواستي كاربر باشد.
بهعنوان مثال، بياييد رفت و برگشت يك درخواست ساده را بررسي كنيم:
1– بسته اطلاعاتي در پروتكل HTTP درخواستي
– درخواست، مانند:
1.1 GET/images/logo.gif HTTP/ كه منبعي با نام /images/logo.gif را از سرور درخواست ميكند.
– مجموعهاي از سرآيندها، مانند زبان مقبول: انگليسي (Accept-Language: en)
– يك خط خالي
– بدنه پيام اختياري.
توجه داشته باشيد كه منظور از خط خالي، CRLF است. در پروتكل HTTP نسخه 1.1، تمامي سرآيندهايي كه در بسته قرار ميگيرند اختيارياند. تنها سرآيند6 اجباري است كه ميزبان را مشخص ميكند.
2– روشهاي درخواست
پروتكل HTTP هشت روش7 را براي ارسال درخواست تعريف كرده است. اين روشها، بسته به نوع تعامل سرويسگيرنده و سرويسدهنده به كار ميآيند. در اينجا مهمترين آنها را بررسي ميكنيم:
HEAD: اين روش، هنگامي مفيد است كه تنها به اطلاعاتي كه از سوي سرويسدهنده ارسال ميشود، نياز داريم و با محتوي بسته كاري نداريم. GET: به كمك GET ميتوان اطلاعات را از طريق URI8 انتقال داد. اين موضوع وقتي مفيد است كه بخواهيم از سرويسگيرنده اطلاعاتي را منتقل كنيم. اما اطلاعات در بدنه نباشد.
POST: اطلاعات را براي پردازش ارسال ميكند. اطلاعات در بدنه بسته ارسالي (بعد از خط خالي) قرار ميگيرند.
3– بسته اطلاعاتي پاسخ در پروتكل HTTP
يك بسته نمونه كه از طرف سرور ارسال ميشود، تقريبا مشابه شكل زير است:
OK 200 1.1 HTTP/
2005 May 23 Date: Mon,
GMT 22:38:34
1.3.3.7Server: Apache/
(Unix) (Red-Hat/Linux)
Jan 08 Last-Modified: Wed,
GMT 23:11:55 2003
Accept-Ranges: bytes
438 :Content-Length
Content-Type: text/html;
8 charset=UTF-
خط اول، وضعيت پاسخ را مشخص ميكند. 200 به اين معنا است كه همه چيز مرتب است. سرآيندهاي بعدي، بهترتيب، تاريخ درخواست، نام سرويسدهنده، تاريخ اصلاح منبع درخواستي، نوع انتقال داده، طول داده و نوع انتقال داده است.
منابع
http://www.w3.org/Protocols
http://en.wikipedia.org/wiki/Http
پينوشتها
HyperText Transfer Protocol. 1
User agent. 2
Origin Server. 3
Gateway. 4
Status line. 5
Host. 6
Method. 7
Uniform Resource Indicator. 8 محمدحسين كردوني
__________________
This city is afraid of me
I have seen its true face
|
جای تبلیغات شما اینجا خالیست با ما تماس بگیرید
|
|