این مقاله شامل تمام Reference های HTTP است. اگر میخواهید سریع معنی هریک از کدهای وضعیت HTTP را پیدا کنید، این مرجع HTTP می تواند برای شما مفید باشد. این همچنین نوعی برگه تقلب برای خودم است زیرا اطلاعات زیادی وجود دارد که باید به خاطر بسپارم. پس امیدوارم برای شما هم مفید باشد.
شما می توانید مرجع HTTP را پیدا کنید:
لیست متدهای Request در Http (verb ها)
متدهای Request
متد | توضیحات | آیا body دارد؟ |
---|---|---|
CONNECT | این مشخصات نام متد CONNECT را برای استفاده با پروکسی رزرو میکند که میتواند به صورت پویا به تونل تبدیل شود (مانند تونلسازی SSL). | خیر |
DELETE | متد DELETE از سرور مبدا درخواست می کند که منبع شناسایی شده توسط Request-URI را حذف کند. | خیر |
GET | متد GET هر اطلاعاتی را که توسط Request-URI شناسایی شده است (به شکل یک موجودیت) بازیابی می کند. | خیر |
HEAD | روش HEAD با GET یکسان است با این تفاوت که سرور نباید بدنه پیام را در پاسخ برگرداند. | خیر |
OPTIONS | متد OPTIONS یک درخواست برای اطلاعات در مورد گزینه های ارتباطی موجود در زنجیره request/response شناسایی شده توسط Request-URI را ارائه می دهد. | خیر |
POST | متد POST برای درخواست از سرور مبدأ استفاده می شود که سرور، موجودیت محصور شده در درخواست را به عنوان یک عضو جدید از منبع شناسایی شده توسط Request-URI در Request-Line میپذیرد. | بله |
PUT | متد PUT درخواست می کند که موجودیت محصور شده تحت Request-URI ارائه شده ذخیره شود. | بله |
TRACE | سرور دادههای ارسال شده را دقیقا به کلاینت یا درخواست کننده باز می گرداند. | خیر |
کدهای Status
این دو جدول، محدوده کد وضعیت (طبقه بندی) را تعریف می کنند و همه کدهای وضعیت را توصیف می کنند.
طبقه بندی کدهای Status
محدوده کلی | محدوده تعریف شده | طبقه بندی |
---|---|---|
100-199 | 100-101 | اطلاعاتی |
200–299 | 200–206 | موفقیت آمیز |
300–399 | 300–305 | Redirection |
400–499 | 400–415 | خطای کلاینت |
500–599 | 500–505 | خطای سرور |
کدهای Status
کد Status | دلیل | معنی |
---|---|---|
100 | Continue | قسمت اولیه درخواست دریافت شد و کلاینت باید ادامه دهد. |
101 | Switching Protocols | سرور در حال تغییر پروتکلها است، همانطور که توسط کلاینت مشخص شده است، به یکی از گزینه های فهرستشده در header ارتقا یافته. |
200 | OK | درخواست بدون مشکل است. |
201 | Created | resource ایجاد شد (برای درخواستهایی که آبجکتهای سرور را ایجاد میکند) |
202 | Accepted | درخواست پذیرفته شد، اما سرور هنوز هیچ اقدامی با آن انجام نداده است. |
203 | Non-Authoritative Information | تراکنش درست بود، به جز اطلاعات موجود در header های موجودیت که از سرور مبدا نبود، بلکه از یک کپی از resource بود. |
204 | No Content | پیام response حاوی headers و یک خط status است، اما هیچ body از موجودیت وجود ندارد. |
205 | Reset Content | کد دیگری که در درجه اول برای مرورگرها است. اساساً به این معنی است که مرورگر باید تمام عناصر فرم HTML را در صفحه فعلی پاک کند. |
206 | Partial Content | یک درخواست Partial با موفقیت انجام شد. |
300 | Multiple Choices | یک کلاینت یک URL درخواست کرده است که در واقع به چندین resource اشاره دارد. این کد همراه با لیستی از گزینه ها برگردانده می شود. سپس کاربر می تواند انتخاب کند که کدام یک را می خواهد. |
301 | Moved Permanently | URL درخواستی منتقل شده است. response باید حاوی URL موقعیت مکانی باشد که نشان می دهد response در حال حاضر در کجا قرار دارد. |
302 | Found | مانند کد وضعیت 301 است، اما انتقال موقت است. کلاینت باید از URL داده شده در سرصفحه Location برای مکان یابی response به طور موقت استفاده کند. |
303 | See Other | به client می گوید که response باید با استفاده از یک URL دیگر واکشی شود. این URL جدید در Location header پیام response است. |
304 | Not Modified | کلاینتها می توانند درخواست های خود را با header های request که شامل می شوند مشروط کنند. این کد نشان می دهد که resource تغییر نکرده است. |
305 | Use Proxy | resource باید از طریق یک Proxy قابل دسترسی باشد، مکان Proxy در هدر Location آورده شده است. |
306 | (Unused) | این کد status در حال حاضر استفاده نمی شود. |
307 | Temporary Redirect | مانند کد وضعیت 301؛ با این حال، کلاینت باید از URL داده شده در هدر Location برای مکان یابی resource به طور موقت استفاده کند. |
400 | Bad Request | به کلاینت می گوید که یک درخواست نادرست ارسال کرده است. |
401 | Unauthorized | پاسخ برگشتی همراه با header های مناسبی که از مشتری می خواهند قبل از دسترسی به resource، خود را احراز هویت کند. |
402 | Payment Required | در حال حاضر از این کد status استفاده نمی شود، اما برای استفاده در آینده کنار گذاشته شده است. |
403 | Forbidden | این درخواست توسط سرور رد شده است. |
404 | Not Found | سرور نمی تواند URL درخواستی را پیدا کند. |
405 | Method Not Allowed | درخواست با متدی انجام شده است که برای URL درخواستی پشتیبانی نمیشود. هدر Allow باید در response گنجانده شود تا به کلاینت بگوید که چه متدهایی در response درخواستی مجاز هستند. |
406 | Not Acceptable | کلاینتها می توانند پارامترهایی را در مورد انواع entity هایی که مایل به پذیرش هستند را مشخص کنند. این کد زمانی استفاده می شود که سرور هیچ response مطابق با URL قابل قبول برای کلاینت نداشته باشد. |
407 | Proxy Authentication Required | مانند کد وضعیت 401، اما برای سرورهای proxy که برای یک resource نیاز به احراز هویت دارند استفاده می شود. |
408 | Request Timeout | اگر یک کلاینت طول بکشد تا درخواست خود را تکمیل کند، سرور می تواند این کد status را بازگرداند و اتصال را قطع کند. |
409 | Conflict | درخواست باعث ایجاد conflict در یک resource می شود. |
410 | Gone | مانند کد وضعیت 404، با این تفاوت که سرور زمانی resource را در اختیار داشت. |
411 | Length Required | سرورها زمانی از این کد استفاده می کنند که در پیام request به هدر Content-Length نیاز دارند. سرور درخواست های resource را بدون هدر Content-Length نمی پذیرد. |
412 | Precondition Failed | اگر یک کلاینت یک درخواست شرطی ایجاد کند و یکی از شرایط ناموفق باشد، این کد پاسخ برگردانده می شود. |
413 | Request Entity Too Large | کلاینت یک entity body را ارسال کرده است که بزرگتر از آن چیزی است که سرور بتواند یا بخواهد پردازش کند. |
414 | Request URI Too Long | کلاینت یک درخواست با URL را ارسال کرده است که بزرگتر از آنچه سرور می تواند یا می خواهد پردازش کند. |
415 | Unsupported Media Type | کلاینت entity از content type را ارسال کرده است که سرور آن را درک یا پشتیبانی نمی کند. |
416 | Requested Range Not Satisfiable | پیام request، محدوده ای از یک resource معین را درخواست کرده است و آن محدوده یا نامعتبر بوده یا اینکه نمی توانست برآورده شود. |
417 | Expectation Failed | این درخواست شامل انتظاراتی در هدر request مورد انتظار بود که توسط سرور برآورده نمی شد. |
500 | Internal Server Error | سرور با خطایی مواجه شد که مانع از سرویس دهی درخواست شد. |
501 | Not Implemented | کلاینت درخواستی را ارائه داده که فراتر از توانایی سرور است. |
502 | Bad Gateway | سروری که به عنوان یک پروکسی یا gateway عمل می کند با یک پاسخ جعلی از لینک بعدی در زنجیره response درخواست مواجه شده است. |
503 | Service Unavailable | سرور در حال حاضر نمی تواند درخواست را سرویس دهد، اما در آینده قادر خواهد بود. |
504 | Gateway Timeout | مشابه کد وضعیت 408، با این تفاوت که پاسخ از یک gateway یا پروکسی می آید که زمان انتظار برای response به درخواست خود از سرور دیگری به پایان رسیده است. |
505 | HTTP Version Not Supported | سرور درخواستی را در نسخه ای از پروتکل دریافت کرده است که نمی تواند یا نمیخواهد آن را پشتیبانی کند. |
منبع: https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
Header ها
هر دو HTTP request و HTTP response می توانند شامل فیلدهای header باشند. این دو جدول این فیلدها را توصیف میکنند و مثال های ساده ای را ارائه می دهند.
Request Header ها
فیلد | توضیح | مثال |
---|---|---|
Accept | می تواند برای تعیین انواع رسانه های خاص که برای response قابل قبول هستند استفاده شود | Accept: text/plain |
Accept-Charset | تعیین میکند که چه مجموعه کاراکترهایی برای response قابل قبول هستند | Accept-Charset: utf-8 |
Accept-Encoding | مشابه Accept است، اما کدگذاری محتوا را که در response قابل قبول است را محدود می کند. | Accept-Encoding: gzip, deflate |
Accept-Language | مشابه Accept است، اما مجموعه زبانهای طبیعی را که به عنوان response برگزیده میشوند را محدود میکند. | Accept-Language: en-US |
Authorization | گواهی احراز هویت برای احراز هویت HTTP. | Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
Cache-Control | برای تعیین دستورالعمل هایی استفاده می شود که باید توسط تمام مکانیزم های ذخیره سازی در طول زنجیره request-response رعایت شود. | Cache-Control: no-cache |
Connection | به فرستنده اجازه میدهد تا گزینههایی را مشخص کند که مختص آن اتصال خاص مورد نظر هستند و نباید توسط پراکسیها در اتصالهای بعدی ارتباط برقرار کنند. | Connection: keep-alive |
Content-Encoding | Content-Encoding اساساً برای این که اجازه دهد یک سند بدون از دست دادن هویت نوع رسانه اصلی آن فشرده شود، استفاده می شود. | Content-Encoding: gzip |
Cookie | یک کوکی HTTP که قبلاً توسط سرور با Set-Cookie ارسال شده است. | Cookie: $Version=1; |
Content-Length | طول body درخواست بر حسب هشت بیت (بایت 8 بیتی). | Content-Length: 1024 |
Content-MD5 | مجموع باینری MD5 کدگذاری شده با Base64 از محتوای body درخواست. | Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== |
Content-Type | نوع MIME بدنه درخواست (برای درخواستهای POST و PUT استفاده میشود). | Content-Type: application/ x-www-form-urlencoded |
Date | تاریخ و ساعت ارسال پیام | Date: Tue, 19 Jun 2012 10:10:10 GMT |
Expect | نشان می دهد که رفتارهای خاص سرور توسط کلاینت مورد نیاز است. | Expect: 100-continue |
From | آدرس ایمیل کاربر درخواست کننده | From: expertmarket@info.ir |
Host | نام دامنه سرور (برای میزبانی مجازی)، و شماره پورت TCP که سرور به آن گوش می دهد. اگر پورت، پورت استاندارد برای سرویس درخواستی باشد، ممکن است شماره پورت حذف شود. از زمان HTTP/1.1 الزامی میباشد. | Host: expertmarket.ir |
If-Match | فقط در صورتی action مورد نظر را انجام دهید که موجودیت ارائه شده کلاینت با همان موجودیت در سرور مطابقت داشته باشد. این عمدتاً برای متدهایی مانند PUT است که فقط یک resource را در صورتی بهروزرسانی میکنند که از آخرین باری که کاربر آن را بهروزرسانی کرده است، اصلاح نشده باشد. | If-Match: “737060cd8c284d8af7ad3082f209582d” |
If-Modified- Since | اجازه می دهد تا در صورتیکه محتوا تغییر نکرده است، یک 304 Not Modified برگردانده شود. | If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT |
If-None-Match | اجازه می دهد تا در صورتیکه محتوا تغییر نکرده است، یک 304 Not Modified برگردانده شود. | If-None-Match: “737060cd8c284d8af7ad3082f209582d” |
If-Range | اگر entity بدون تغییر است، قسمت(هایی) را که از دست داده ام را برای من ارسال کنید. در غیر این صورت، کل entity جدید را برای من ارسال کنید. | If-Range: “737060cd8c284d8af7ad3082f209582d” |
If-Unmodified- Since | فقط در صورتی response را ارسال کنید که entity از زمان مورد نظر تغییر نکرده باشد. | If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT |
Max-Forwards | تعداد دفعاتی که پیام را می توان از طریق پروکسی ها یا gateway ها ارسال کرد، محدود کنید. | Max-Forwards: 10 |
Origin | درخواستی را برای اشتراکگذاری منابع cross-origin آغاز میکند (از سرور فیلد پاسخ «Access-Control-Allow-Origin» میخواهد). | Origin: http://code-maze.com |
Pragma | Header های ویژه پیاده سازی که ممکن است اثرات مختلفی در هر نقطه از زنجیره request-response داشته باشند. | Pragma: no-cache |
Proxy- Authorization | اعتبار مجوز برای اتصال به یک پروکسی. | Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
Range | فقط بخشی از یک موجودیت را درخواست میکند. بایت ها از 0 شماره گذاری می شوند. | Range: bytes=500-999 |
Referer | این آدرس صفحه وب قبلی است که از آن، یک پیوند به صفحه درخواستی فعلی دنبال شده است. (کلمه “referrer” در RFC و همچنین در اکثر پیاده سازی ها اشتباه نوشته شده است.) | Referer: https://expertmarket.ir |
TE | کدهای انتقالی که user agent مایل به پذیرش است. | TE: trailers, deflate |
Upgrade | از سرور میخواهد که به پروتکل دیگری ارتقا یابد. | Upgrade: HTTPS/1.3, IRC/6.9, RTA/x11, websocket |
User-Agent | رشته user agent از user agent | User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0 |
Via | به سرور پروکسی هایی که درخواست از طریق آنها ارسال شده است اطلاع می دهد. | Via: 1.0 fred, 1.1 example.com (Apache/1.1) |
Warning | یک warning کلی در مورد مشکلات احتمالی با body موجودیت. | Warning: 199 Miscellaneous warning |
Response Header ها
فیلد | توضیحات | مثال |
---|---|---|
Access-Control-Allow-Origin | تعیین میکند که کدام وبسایتها میتوانند در اشتراکگذاری منابع cross-origin شرکت کنند | Access-Control-Allow- Origin: * |
Accept-Ranges | به سرور اجازه می دهد تا پذیرش محدوده درخواست ها را برای یک resource تعیین کند. | Accept-Ranges: bytes |
Age | مدت زمان تخمینی که response (یا اعتبارسنجی مجدد آن) در سرور مبدا ایجاد شده است را نقل میکند. | Age: 24 |
Allow | مجموعه ای از متد های پشتیبانی شده توسط resource شناسایی شده توسط Request-URI را فهرست می کند. هدف از این فیلد، اطلاع رسانی دقیق به گیرنده متدهای معتبر مرتبط با resource است. | Allow: GET, HEAD, PUT |
Cache-Control | همه مکانیزمهای cache را از سرور به کلاینت میگوید که آیا میخواهند این آبجکت را در حافظه پنهان ذخیره کنند یا خیر. در کسری از ثانیه سنجیده می شود. | Cache-Control: max-age=3600 |
Connection | آپشنهایی که برای اتصال، مطلوب هستند | Connection: close |
Content-Encoding | نوع رمزگذاری مورد استفاده در داده ها. فشرده سازی HTTP را ببینید. | Content-Encoding: gzip |
Content-Language | تعیین نمودن زبان مربوط به محتوا | Content-Language: en |
Content-Length | طول بدنه پاسخ بر حسب هشت بیت (بایت 8 بیتی) | Content-Length: 1024 |
Content-Location | یک مکان جایگزین برای داده های برگشتی | Content-Location: /index.htm |
Content-MD5 | یک مجموع باینری MD5 کدگذاری شده با Base64 از محتوای response | Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== |
Content-Disposition | فرصتی برای ایجاد یک کادر دیالوگ “File Download” برای یک MIME type شناخته شده با فرمت باینری یا پیشنهاد نام فایل برای محتوای پویا. نقل قول با کاراکترهای خاص ضروری هستند. | Content-Disposition: attachment; filename=”fname.ext” |
Content-Range | این پیام جزئی در پیام کامل body به کجا تعلق دارد | Content-Range: bytes 21010-47021/47022 |
Content-Type | MIME type این محتوا | Content-Type: text/html; charset=utf-8 |
Date | تاریخ و زمانی که پیام فرستاده شده بود | Date: Sun, 17 Jun 2017 10:11:12 GMT |
ETag | یک شناسه برای یک نسخه خاص از یک resource، اغلب یک خلاصه پیام | ETag: “737060cd8c284d8af7ad3082f209582d” |
Expires | تاریخ/زمان expire شدن response را تعیین میکند | Expires: Date: Sun, 17 Jun 2017 10:11:12 GMT |
Last-Modified | آخرین تاریخ تغییر برای آبجکت درخواستی، در قالب RFC 2822 | Last-Modified: Date: Sun, 17 Jun 2017 10:11:12 GMT |
Link | برای بیان کردن نوع رابطه با resource دیگر استفاده میشود که در آن نوع رابطه با RFC 5988 تعریف شده است. | Link: ; rel=”alternate” |
Location | در تغییر مسیر یا زمانی که یک resource جدید ایجاد شده است استفاده می شود. | Location: https://expertmarket.ir/index.html |
P3P | این Header قرار است خط مشی پلتفرم پروژه اولویتهای حریم خصوصی (P3P) را در قالب P3P:CP=”your_compact_policy” تنظیم کند. با این حال، P3P حذف نشد، اکثر مرورگرها هرگز آن را به طور کامل پیادهسازی نکردهاند، بسیاری از وبسایتها این هدر را با متن خطمشی جعلی تنظیم میکنند، که برای فریب دادن وجود خطمشی P3P به مرورگرها و دادن مجوز برای کوکیهای شخص ثالث کافی بود. | P3P: CP=”This is not a P3P policy! See http://www.google.com/support/ accounts/bin/answer.py?hl=en&answer=151657 for more info.” |
Pragma | Header های مخصوص پیاده سازی که ممکن است اثرات مختلفی در هر نقطه از زنجیره request-response داشته باشند. | Pragma: no-cache |
Proxy-Authenticate | احراز هویت Request برای دسترسی به proxy | Proxy-Authenticate: Basic |
Refresh | در redirection یا زمانی که یک resource جدید ایجاد شده است استفاده می شود. این Refresh پس از 5 ثانیه redirect می دهد. این یک header extension اختصاصی و غیر استاندارد است که توسط Netscape معرفی شده و توسط اکثر مرورگرهای وب پشتیبانی می شود. | Refresh: 5; url=https://expertmarket.ir/index.html |
Retry-After | اگر یک entity به طور موقت در دسترس نباشد، این به کلاینت دستور می دهد تا پس از یک دوره زمانی مشخص (ثانیه) دوباره تلاش کند. | Retry-After: 240 |
Server | یک نام برای سرور | Server: Apache/2.4 (Unix) |
Set-Cookie | یک HTTP Cookie را set میکند | Set-Cookie: UserID=1; Max-Age=3600; Version=1 |
Strict-transfer-Security | یک خطمشی HSTS که به کلاینت HTTP اطلاع میدهد که چه مدت باید خطمشی فقط HTTPS را در حافظه پنهان نگه دارد و اینکه آیا این خطمشی برای زیر دامنهها اعمال میشود یا خیر. | Strict-transfer-Security: max-age=16070400; includeSubDomains |
Trailer | مقدار فیلد عمومی Trailer نشان میدهد که مجموعه دادهشده از فیلدهای Header در Trailer پیام کدگذاری شده با کدگذاری انتقال chunked وجود دارد. | Trailer: Max-Forwards |
Transfer-Encoding | شکل رمزگذاری مورد استفاده برای انتقال ایمن موجودیت به کاربر. متدهای تعریف شده در حال حاضر عبارتند از: chunked، compress، deflate، gzip، identity. | Transfer-Encoding: chunked |
Vary | به پراکسیهای پاییندستی میگوید که چگونه request header های آینده را مطابقت دهند تا تصمیم بگیرند که آیا پاسخ ذخیره شده در حافظه پنهان میتواند به جای درخواست یک پاسخ جدید از سرور مبدا استفاده شود یا خیر. | Vary: * |
Via | به مشتری از پروکسی هایی که response از طریق آنها ارسال شده است اطلاع می دهد. | Via: 1.0 mick, 1.1 baselogic.com (Apache/2.4) |
Warning | یک هشدار کلی در مورد مشکلات احتمالی با body موجودیت. | A general warning about possible problems with the entity body. |
WWW-Authenticate | scheme احراز هویت را نشان می دهد که باید برای دسترسی به موجودیت درخواستی استفاده شود. | WWW-Authenticate: Basic |
منبع: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
MIME Type ها
به دلیل تعداد زیاد انواع رسانه های اینترنتی، فقط رایج ترین آنها در اینجا لیست شده اند.
MIME Type های اصلی
نوع | توضیح |
---|---|
application | Application-specific content format (discrete type) |
audio | Audio format (discrete type) |
chemical | Chemical data set (discrete IETF extension type) |
image | Image format (discrete type) |
message | Message format (composite type) |
model | 3-D model format (discrete IETF extension type) |
multipart | Collection of multiple objects (composite type) |
text | Text format (discrete type) |
video | Video movie format (discrete type) |
MIME Type های Application
نوع | توضیح |
---|---|
application/atom+xml | Atom Feeds |
application/ecmascript | ECMAScript/JavaScript (equivalent to application/javascript but with stricter processing rules) |
application/json | JavaScript Object Notation JSON |
application/javascript | ECMAScript/JavaScript (equivalent to application/ecmascript but with looser processing rules) It is not accepted in IE 8 or earlier |
application/octet-stream | Unclassified binary data. |
application/pdf | Portable Document Format |
application/postscript | PostScript |
application/rss+xml | RSS feeds |
application/soap+xml | SOAP |
application/font-woff | Web Open Font Format |
application/xhtml+xml | XHTML |
application/xml-dtd | Document Type Definition (DTD) files |
application/xop+xml | XML-binary Optimized Packaging (XOP) |
application/zip | ZIP archive files |
application/gzip | Gzip |
MIME Type های Multipart
نوع | توضیح |
---|---|
multipart/mixed | MIME Email |
multipart/form-data | MIME Webform |
MIME Type های Text
نوع | توضیح |
---|---|
text/css | Cascading Style Sheets. |
text/csv | Comma-separated values |
text/html | HTML file |
text/plain | Textual data |
text/xml | Extensible Markup Language |
منبع: https://www.iana.org/assignments/media-types/media-types.xhtml
همه موارد ذکر شده در این مقاله مرجع را می توان با جزئیات بیشتر در سند مشخصات HTTP1.1 پیدا کرد: