بخش های اصلی

آموزش HTTP

HTTP – متدها (Methods)

مجوعه ای از متدهای پرکاربردِ HTTP/1.1 در جدول زیر آمده که می توانند بر اساس نیاز، توسعه یابند. نام این متدها حساس به حروف هستن و باید با حروف بزرگ نوشته بشن.

شماره متد و توضیحات
1

GET

متدِ GET برای بازیابی اطلاعات از سرورِ داده شده توسط URI، استفاده میشه. درخواست هایی که از GET استفاده می کنن باید فقط داده را بازیابی کنن و نباید هیچ تأثیر دیگه ای روی داده بذارن.

2

HEAD

مشابه HEAD با این تفاوت که فقط بخش status line و سرآیند را انتقال میده.

3

POST

درخواستِ POST برای ارسال داده به سرور با استفاده از فرم های HTML، استفاده میشه، مثل اطلاعات مشتری، آپلود فایل و ... .

4

PUT

تمام محتوای نمایش داده شده از منبع مقصد را با محتوای آپلود شده جایگزین می کنه.

5

DELETE

تمام محتوای نمایش داده شده از منبع مقصد که توسط URI داده شده را حذف می کنه.

6

CONNECT

یک تانِل (tunnel) با سروری که توسطِ URI داده شده، شناخته شده، برقرار می کنه.

7

OPTIONS

آپشن های ارتباطی را برای منبع مقصد شرح میده.

8

TRACE

یک پیام حلقه ی تست برگشتی، در مسیرِ (path) منبع مقصد، اجرا می کنه.

متدِ GET

متدِ GET، داده ها را با پارامترهای تعریف شده در بخشِ URL مربوط به درخواست، از سرور بازیابی می کنه. این متد، متد اصلیِ بازیابی سندِه. مثال زیر، از متدِ GET برای واکشیِ (fetch)، hello.html استفاده می کنه:

GET /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.softskill.ir
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

پاسخ سرور در برابر درخواست GET بالا بصورت زیر خواهد بود:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>سلام دنیا!</h1>
</body>
</html>

متدِ HEAD

متدِ HEAD از لحاظ عملکرد، شبیه به GET است با این تفاوت که سرور با response line و سرآیند ها پاسخ میده و entity-body را در پاسخ نمیاره. مثال زیر، از متدِ HEAD برای واکشی اطلاعاتِ سرآیندِ hello.htm استفاده می کنه:

HEAD /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.softskill.ir
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

پاسخ سرور به درخواستِ GET بالا، بصورت زیر خواهد بود:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed

به یاد داشته باشین که در اینجا سرور هیچ داده ای را به دنبالِ سرآیند نمی فرسته.

متدِ POST

متدِ POST زمانی استفاده میشه که بخواین داده ای به سرور بفرستین، مثل، فایل آپدیت شده، فرمِ اطلاعاتی و ... . مثال های زیر از متدِ POST برای فرستادن یک فرم اطلاعاتی به سرور استفاده می کنن، سپس این فرم توسطِ process.cgi پردازش میشه و در آخر پاسخی برگردانده میشه:

POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.softskill.ir
Content-Type: text/xml; charset=utf-8
Content-Length: 88
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://clearforest.com/">string</string>

اسکریپت سمت سرور، process.cgi، داده ی پاس داده شده را پردازش می کنه و پاسخی بصورت زیر میفرسته:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>درخواست با موفقیت پردازش شد</h1>
</body>
</html>

متدِ PUT

متد PUT، برای ذخیره ی entity-body، include (مشمول) شده در مکانی که توسطِ URI داده شده تعیین شده، درخواستی به سرور می فرسته. در مثال زیر، درخواستی به سرور فرستاده میشه تا entity-body داده شده را در hello.htm در ریشه ی سرور، ذخیره کنه:

PUT /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.softskill.ir
Accept-Language: en-us
Connection: Keep-Alive
Content-type: text/html
Content-Length: 182
<html>
<body>
<h1>سلام دنیا!</h1>
</body>
</html>

سرور، entity.htm داده شده را در فایلِ hello.htm ذخیره می کنه و پاسخی به شکل زیر برای کلاینت میفرسته:

HTTP/1.1 201 Created
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
<html>
<body>
<h1>فایل ایجاد شد.</h1>
</body>
</html>

متدِ DELETE

متدِ DELETE، درخواستی به سرور میفرسته تا فایلی را که در مکانی قرار داره که توسطِ URI داده شده، مشخص شده را حذف کنه. در مثال زیر، درخواستی به سرور فرستاده میشه تا فایلِ hello.htm داده شده از ریشه ی سرور حذف بشه:

DELETE /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.softskill.ir
Accept-Language: en-us
Connection: Keep-Alive

سرور فایلِ hello.htm را حذف می کنه و پاسخی به شکل زیر برای کلاینت میفرسته:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
<html>
<body>
<h1>URL حذف شد.</h1>
</body>
</html>

متدِ CONNECT

متدِ CONNECT، توسط کلاینت استفاده میشه تا از طریق HTTP، یک ارتباط شبکه ای با سرور برقرار کنه. در مثالی که در ادامه میاد، درخواست ارتباطی (connection) با وب سرور در حال اجرا، به هاستِ softskill.ir فرستاده میشه:

CONNECT www.softskill.ir HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

ارتباط با سرور برقرار میشه و پاسخی به شکل زیر برای کلاینت فرستاده میشه:

HTTP/1.1 200 Connection established
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)

متدِ OPTIONS

متدِ OPTIONS توسط کلاینت استفاده میشه و برای یافتن متدهای HTTP و سایر آپشن هایی که توسط وب سرور پشتیبانی میشن، به کار میره. کلاینت می تواند URLای برای متدِ OPTIONS یا ستاره ای (*) برای اشاره به تمام وب سرور، تعریف کنه. مثال زیر لیستی از متدهای پشتیبانی شده توسط وب سروری که softskill.ir را اجرا می کنه را، درخواست میکنه:

HTTP/1.1 200 Connection established
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)

سرور، اطلاعاتی مبتنی بر پیکربندی فعلیِ سرور، میفرسته، برای مثال:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Type: httpd/unix-directory

متدِ TRACE

متدِ TRACE، عیناً محتوای درخواستِ HTTP را به درخواست کننده برمی گرداند. این امر برای خطایابی در زمان توسعه، مفیده.  مثال زیر طرز استفاده ی متدِ TRACE را نشان میده:

TRACE / HTTP/1.1
Host: www.softskill.ir
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

سرور، بصورت زیر، پیامی بعنوان پاسخ به درخواست بالا، میفرسته:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Connection: close
Content-Type: message/http
Content-Length: 39

TRACE / HTTP/1.1
Host: www.softskill.ir
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

مبحث آموزشی

آموزش HTTP

HTTP

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

تبلیغات

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

آخرین مقالات

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد