كيف يتم إرسال المعلمات في طلب HTTP POST؟



Answers

يتم وضع المحتوى بعد رؤوس HTTP. تنسيق HTTP POST هو الحصول على رؤوس HTTP ، متبوعة بخط فارغ ، متبوعًا بهيكل الطلب. يتم تخزين متغيرات POST كأزواج قيمة مفتاح في الجسم.

يمكنك رؤية ذلك في المحتوى الخام الخاص بـ HTTP Post ، كما هو موضح أدناه:

POST /path/script.cgi HTTP/1.0
From: frog@jmarshall.com
User-Agent: HTTPTool/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 32

home=Cosby&favorite+flavor=flies

يمكنك رؤية ذلك باستخدام أداة مثل Fiddler ، والتي يمكنك استخدامها لمشاهدة طلب HTTP الأساسي وترسل حمولات الاستجابة عبر السلك.

Question

في طلب HTTP GET ، يتم إرسال المعلمات كسلسلة استعلام :

http://example.com/page?parameter=value&also=another

في طلب HTTP POST ، لا يتم إرسال المعلمات مع URI.

أين القيم؟ في رأس الطلب؟ في نص الطلب؟ كيف تبدو؟




يتم إرسال قيم النماذج في HTTP POSTs في نص الطلب ، بنفس تنسيق سلسلة الطلب.

لمزيد من المعلومات ، راجع spec .




لا يمكنك كتابته مباشرة على شريط عنوان URL للمتصفح.

يمكنك رؤية كيفية إرسال بيانات POST على الإنترنت باستخدام رؤوس HTTP الحية على سبيل المثال. النتيجة ستكون شيء من هذا القبيل

http://127.0.0.1/pass.php
POST /pass.php HTTP/1.1

Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http://127.0.0.1/pass.php
Cookie: passx=87e8af376bc9d9bfec2c7c0193e6af70; PHPSESSID=l9hk7mfh0ppqecg8gialak6gt5
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 30
username=zurfyx&pass=password

حيث تقول

Content-Length: 30
    username=zurfyx&pass=password

ستكون قيم المشاركة.




Links