هي مواد "انٽرپرائز ڊولپمينٽ جو تعارف" سيريز جو حصو آهي. اڳيون مضمون:
سلام اڄ اسين سکنداسين HTTP ۽ HTTPS پروٽوڪول بابت. پر پهرين، اچو ته هڪ نقطو واضح ڪريون: اسان OSI ماڊل جي ايپليڪيشن سطح تي نيٽ ورڪ تي ڊيٽا موڪلڻ لاءِ پروٽوڪول بابت ڳالهائي رهيا آهيون. توهان کي ياد هوندو ته اسان کي معلوم ٿيو آهي OSI ماڊل گذريل مضمونن مان هڪ ۾. جيڪڏهن توهان کي ياد ناهي ته، اهو هتي آهي
.

ڊيٽا ڪميونيڪيشن پروٽوڪول ڇا آهي؟
هي جنهن کي اسان قاعدن جو متفقه سيٽ چئون ٿا جيڪي مختلف خدمتن جي ڊولپرز کي اجازت ڏين ٿا معلومات موڪلڻ جي فارميٽ ۾ جيڪي ٻيا سمجهي سگهن. مثال طور، توهان Facebook ۽ Twitter ٻنهي کان معلومات حاصل ڪرڻ لاءِ گوگل ڪروم استعمال ڪري سگهو ٿا، ڇاڪاڻ ته ڊولپرز ان کي معياري HTTP پروٽوڪول استعمال ڪندي موڪليندا آهن، جيڪو توهان جي برائوزر کي ان تي عمل ڪرڻ جي اجازت ڏئي ٿو. يونيفارم ضابطا انهن ماڻهن لاءِ تمام آسان آهن جيڪي سرور جو حصو ٺاهي رهيا آهن: ڪيتريون ئي لائبريريون آهن جيڪي توهان لاءِ معلومات کي تبديل ڪري سگهن ٿيون ۽ ان کي مناسب پروٽوڪول استعمال ڪندي موڪلي سگهن ٿيون. HTTP شروعاتي طور تي HTML صفحن کي موڪلڻ لاء پروٽوڪول طور تصور ڪيو ويو. اهو طريقو اهو آهي ته اهو هڪ ڊگهي وقت تائين استعمال ڪيو ويو، پر هاڻي پروگرامر اڪثر ڪري ان کي استعمال ڪندا آهن ٻنهي تارن ۽ ميڊيا فائلن کي موڪلڻ لاء. عام طور تي، هي پروٽوڪول عام طور تي قبول ڪيو ويو آهي ۽ ورهاڱي وارو، ۽ اهو استعمال ڪرڻ بلڪل آسان آهي. ۽ هاڻي اسان تحقيق ڪنداسين ته ان کي ڪيئن استعمال ڪجي.HTTP جي جوڙجڪ
اسان کي فوري طور تي نوٽ ڪرڻ گهرجي ته HTTP پروٽوڪول صرف متن تي مشتمل آهي. اسان کي سڀ کان وڌيڪ دلچسپي جيڪا هن متن جي جوڙجڪ آهي. هر پيغام ٽن حصن تي مشتمل آهي:- شروع لائن - هي وضاحت ڪري ٿو ڪجهه هائوس ڪيپنگ ڊيٽا.
- هيڊرز - اهي پيغام جي پيراگراف کي بيان ڪن ٿا.
- جسم - هي پيغام جو مواد آهي. جسم کي هيڊرن کان خالي لڪير سان الڳ ڪيو وڃي.
ھتي آھي ھڪڙو سادو HTTP درخواست جھڙو نظر اچي ٿو:
GET / HTTP/1.1
Host: codegym.cc
User-Agent: firefox/5.0 (Linux; Debian 5.0.8; en-US; rv:1.8.1.7)
شروعاتي لائن اشارو ڪري ٿو:
- حاصل ڪريو - درخواست جو طريقو
- / - درخواست جو رستو
- HTTP/1.1 - پروٽوڪول ورزن
- ميزبان - ميزبان جنهن کي درخواست ڪئي وئي آهي
- User-Agent - ڪلائنٽ جيڪو درخواست موڪلي ٿو
https://cdn.codegym.cc/images/article/155cea79-acfd-4968-9361-ad585e939b82/original.pngsend?name1=value1&name2=value2
جتي codegym.cc ميزبان آهي، /send درخواست جو رستو آهي، ۽ ؟ ھڪڙو جدا ڪندڙ آھي جيڪو اشارو ڪري ٿو ته سوال جي پيراگراف جي پيروي ڪندا آھن. آخر ۾، ڪيئي-قدر جوڙو ("key=value") درج ٿيل آهن، هڪ ايمپرسينڊ سان الڳ ٿيل آهن. پوسٽ - هي طريقو سرور تي معلومات شايع ڪري ٿو. پوسٽ درخواست موڪلي سگھي ٿي مختلف قسم جي معلومات: پيٽرولر جيئن "key=value" جوڙو، JSON، HTML ڪوڊ، يا حتي فائلون. سموري معلومات پيغام جي جسم ۾ موڪلي وئي آهي. مثال طور:
POST /user/create/json HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 28
Host: codegym.cc
{
"Id": 12345,
"User": "John"
}
درخواست موڪليو ويو آهي codegym.cc/user/create/json، ۽ پروٽوڪول ورزن HTTP/1.1 آهي. "قبول ڪريو" ظاهر ڪري ٿو جوابي فارميٽ جيڪو ڪلائنٽ وصول ڪرڻ جي اميد رکي ٿو. "Content-Type" ظاھر ڪري ٿو نياپو جي جسم جي فارميٽ کي درخواست ۾ موڪليو ويو. "Content-Length" جسم ۾ اکرن جو تعداد آھي. هڪ HTTP درخواست ڪيترن ئي مختلف عنوانن تي مشتمل ٿي سگھي ٿي. وڌيڪ معلومات لاء، پروٽوڪول جي وضاحت
تي هڪ نظر وٺو .
HTTP جواب
هڪ درخواست حاصل ڪرڻ کان پوء، سرور ان کي پروسيس ڪري ٿو ۽ ڪلائنٽ ڏانهن جواب موڪلي ٿو:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 98
<html>
<head>
<title>An Example Page</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
جواب جي شروعات واري لائن ۾ پروٽوڪول ورزن (HTTP/1.1)، اسٽيٽس ڪوڊ (200)، ۽ اسٽيٽس وضاحت (OK) شامل آھي. ان جي هيڊرن ۾ مواد جو قسم ۽ ڊيگهه شامل آهي. جوابي جسم ۾ HTML ڪوڊ شامل آهي جيڪو برائوزر HTML صفحي جي طور تي پيش ڪري ٿو.
جوابي اسٽيٽس ڪوڊس
پيغام جي باڊي ۽ هيڊرز جي حوالي سان سڀ ڪجهه واضح آهي، پر اسان کي اسٽيٽس ڪوڊ بابت ڪجهه لفظ چوڻ گهرجن. جوابي اسٽيٽس ڪوڊ هميشه ٽي عدد آهن. ڪوڊ جو پهريون انگ ظاهر ڪري ٿو جواب جي درجي کي:- 1xx - معلوماتي. درخواست ملي وئي. سرور جاري رکڻ لاءِ تيار آهي.
- 2xx - ڪامياب. درخواست ملي وئي، سمجھي وئي ۽ عمل ڪيو ويو.
- 3xx - ريڊائريشن. درخواست تي عمل ڪرڻ لاء اضافي عملن کي انجام ڏيڻ گھرجي.
- 4xx - ڪلائنٽ جي غلطي. درخواست ۾ غلطيون آھن يا پروٽوڪول جي تعميل نه آھي.
- 5xx - سرور جي غلطي. درخواست صحيح ترتيب ڏني وئي، پر سرور ان تي عمل نه ڪري سگهيو.
- 200 OK - درخواست ملي وئي ۽ ڪاميابي سان عمل ڪيو ويو.
- 201 ٺاهي وئي - درخواست ملي وئي ۽ ڪاميابي سان عمل ڪيو ويو، نتيجي ۾ نئين وسيلن يا مثال جي پيدائش.
- 301 مستقل طور تي منتقل ڪيو ويو - درخواست ڪيل وسيلن کي مستقل طور تي منتقل ڪيو ويو. ان کان پوءِ درخواستن کي نئين ايڊريس استعمال ڪرڻ گهرجي.
- 307 عارضي ريٽائرمينٽ - وسيلن کي عارضي طور تي منتقل ڪيو ويو آهي. ھاڻي، اھو خودڪار اڳتي وڌڻ جي ذريعي پھچائي سگھجي ٿو.
- 403 منع ٿيل - درخواست سمجھي وئي، پر اختيار گھربل آھي.
- 404 Not Found — سرور نه مليو وسيلو هن ايڊريس تي.
- 501 لاڳو نه ٿيو - سرور درخواست جو جواب ڏيڻ لاءِ گهربل ڪارڪردگي کي سپورٽ نٿو ڪري.
- 505 HTTP ورزن سپورٽ نه ڪيو - سرور HTTP پروٽوڪول جي مخصوص ورزن کي سپورٽ نٿو ڪري.
GO TO FULL VERSION