HTTP अनुरोध के तरीके
एचटीटीपी क्या है?
हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल (HTTP) क्लाइंट और सर्वर के बीच संचार को सक्षम करने के लिए डिज़ाइन किया गया है।
HTTP क्लाइंट और सर्वर के बीच अनुरोध-प्रतिक्रिया प्रोटोकॉल के रूप में काम करता है।
उदाहरण: क्लाइंट (ब्राउज़र) सर्वर को एक HTTP अनुरोध भेजता है; फिर सर्वर क्लाइंट को प्रतिक्रिया देता है। प्रतिक्रिया में अनुरोध के बारे में स्थिति की जानकारी होती है और इसमें अनुरोधित सामग्री भी हो सकती है।
HTTP तरीके
- प्राप्त
- पद
- रखना
- सिर
- हटाएँ
- पैच
- विकल्प
दो सबसे आम HTTP विधियां हैं: प्राप्त करें और पोस्ट करें।
प्राप्त विधि
GET का उपयोग किसी निर्दिष्ट संसाधन से डेटा का अनुरोध करने के लिए किया जाता है।
GET सबसे आम HTTP विधियों में से एक है।
ध्यान दें कि क्वेरी स्ट्रिंग (नाम/मान जोड़े) GET अनुरोध के URL में भेजी जाती है:
/test/demo_form.php?name1=value1&name2=value2
GET अनुरोधों पर कुछ अन्य नोट:
- GET अनुरोधों को कैश किया जा सकता है
- GET अनुरोध ब्राउज़र इतिहास में बने रहते हैं
- GET अनुरोधों को बुकमार्क किया जा सकता है
- संवेदनशील डेटा के साथ काम करते समय GET अनुरोधों का उपयोग कभी नहीं किया जाना चाहिए
- GET अनुरोधों की लंबाई प्रतिबंध हैं
- GET अनुरोध केवल डेटा का अनुरोध करने के लिए उपयोग किए जाते हैं (संशोधित नहीं)
पोस्ट विधि
संसाधन बनाने/अपडेट करने के लिए सर्वर को डेटा भेजने के लिए POST का उपयोग किया जाता है।
सर्वर को POST के साथ भेजा गया डेटा HTTP अनुरोध के अनुरोध निकाय में संग्रहीत किया जाता है:
POST /test/demo_form.php HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2
POST सबसे आम HTTP विधियों में से एक है।
POST अनुरोधों पर कुछ अन्य नोट:
- POST अनुरोध कभी कैश नहीं किए जाते हैं
- POST अनुरोध ब्राउज़र इतिहास में नहीं रहते हैं
- POST अनुरोधों को बुकमार्क नहीं किया जा सकता
- POST अनुरोधों में डेटा की लंबाई पर कोई प्रतिबंध नहीं है
पुट विधि
संसाधन बनाने/अपडेट करने के लिए सर्वर को डेटा भेजने के लिए PUT का उपयोग किया जाता है।
POST और PUT के बीच का अंतर यह है कि PUT अनुरोध बेकार हैं। यही है, एक ही पुट अनुरोध को कई बार कॉल करने से हमेशा एक ही परिणाम प्राप्त होगा। इसके विपरीत, POST अनुरोध को बार-बार कॉल करने से एक ही संसाधन को कई बार बनाने के दुष्प्रभाव होते हैं।
सिर विधि
HEAD लगभग GET के समान है, लेकिन प्रतिक्रिया निकाय के बिना।
दूसरे शब्दों में, यदि GET /users उपयोगकर्ताओं की एक सूची लौटाते हैं, तो HEAD /users वही अनुरोध करेंगे लेकिन उपयोगकर्ताओं की सूची वापस नहीं करेंगे।
HEAD अनुरोध यह जाँचने के लिए उपयोगी होते हैं कि GET अनुरोध वास्तव में GET अनुरोध करने से पहले क्या लौटाएगा - जैसे कि एक बड़ी फ़ाइल या प्रतिक्रिया निकाय को डाउनलोड करने से पहले।
DELETE विधि
DELETE विधि निर्दिष्ट संसाधन को हटा देती है।
विकल्प विधि
विकल्प विधि लक्ष्य संसाधन के लिए संचार विकल्पों का वर्णन करती है।
जीईटी बनाम पोस्ट की तुलना करें
निम्न तालिका दो HTTP विधियों की तुलना करती है: GET और POST।
GET | POST | |
---|---|---|
BACK button/Reload | Harmless | Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted) |
Bookmarked | Can be bookmarked | Cannot be bookmarked |
Cached | Can be cached | Not cached |
Encoding type | application/x-www-form-urlencoded | application/x-www-form-urlencoded or multipart/form-data. Use multipart encoding for binary data |
History | Parameters remain in browser history | Parameters are not saved in browser history |
Restrictions on data length | Yes, when sending data, the GET method adds the data to the URL; and the length of a URL is limited (maximum URL length is 2048 characters) | No restrictions |
Restrictions on data type | Only ASCII characters allowed | No restrictions. Binary data is also allowed |
Security | GET is less secure compared to POST because data sent is part of the URL Never use GET when sending passwords or other sensitive information! |
POST is a little safer than GET because the parameters are not stored in browser history or in web server logs |
Visibility | Data is visible to everyone in the URL | Data is not displayed in the URL |