मुझे Content-Type
HTTP अनुरोध को पास करने से पहले हेडर मान को मान्य करना होगा।
क्या सभी संभावित मूल्यों के लिए एक विशिष्ट सूची है Content-Type
?
अन्यथा, HTTP अनुरोध में उपयोग करने से पहले सामग्री प्रकार को मान्य करने का कोई तरीका है?
मुझे Content-Type
HTTP अनुरोध को पास करने से पहले हेडर मान को मान्य करना होगा।
क्या सभी संभावित मूल्यों के लिए एक विशिष्ट सूची है Content-Type
?
अन्यथा, HTTP अनुरोध में उपयोग करने से पहले सामग्री प्रकार को मान्य करने का कोई तरीका है?
जवाबों:
आप यहाँ हर प्रकार की सामग्री पा सकते हैं: http://www.iana.org/assignments/media-types/media-types.fr.html
सबसे आम प्रकार हैं:
एप्लिकेशन टाइप करें
application/java-archive
application/EDI-X12
application/EDIFACT
application/javascript
application/octet-stream
application/ogg
application/pdf
application/xhtml+xml
application/x-shockwave-flash
application/json
application/ld+json
application/xml
application/zip
application/x-www-form-urlencoded
ऑडियो टाइप करें
audio/mpeg
audio/x-ms-wma
audio/vnd.rn-realaudio
audio/x-wav
छवि टाइप करें
image/gif
image/jpeg
image/png
image/tiff
image/vnd.microsoft.icon
image/x-icon
image/vnd.djvu
image/svg+xml
मल्टीपार्ट टाइप करें
multipart/mixed
multipart/alternative
multipart/related (using by MHTML (HTML mail).)
multipart/form-data
पाठ टाइप करे
text/css
text/csv
text/html
text/javascript (obsolete)
text/plain
text/xml
वीडियो टाइप करें
video/mpeg
video/mp4
video/quicktime
video/x-ms-wmv
video/x-msvideo
video/x-flv
video/webm
प्रकार vnd:
application/vnd.android.package-archive
application/vnd.oasis.opendocument.text
application/vnd.oasis.opendocument.spreadsheet
application/vnd.oasis.opendocument.presentation
application/vnd.oasis.opendocument.graphics
application/vnd.ms-excel
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
application/vnd.ms-powerpoint
application/vnd.openxmlformats-officedocument.presentationml.presentation
application/msword
application/vnd.openxmlformats-officedocument.wordprocessingml.document
application/vnd.mozilla.xul+xml
जैसा कि RFC 1341 में परिभाषित किया गया है :
RFC 822 के विस्तारित BNF अंकन में, सामग्री-प्रकार हेडर फ़ील्ड मान को निम्नानुसार परिभाषित किया गया है:
सामग्री-प्रकार: = प्रकार "/" उपप्रकार * [";" पैरामीटर]
प्रकार: = "एप्लिकेशन" / "ऑडियो" / "छवि" / "संदेश" / "मल्टीपार्ट" / "टेक्स्ट" / "वीडियो" / x-token
x-token: = <दो अक्षर "X-" का अनुसरण किया गया, जिसमें कोई भी सफ़ेद स्थान नहीं है, किसी भी टोकन द्वारा>
उपप्रकार: = टोकन
पैरामीटर: = विशेषता "=" मान
विशेषता: = टोकन
मूल्य: = टोकन / उद्धृत-स्ट्रिंग
टोकन: = 1 *
tspecials: = "(" / ")" / "<" / ">" / "@ @"; में होना चाहिए / "," / ";" / ":" / "" \ "/ <">; उद्धृत-स्ट्रिंग, / "/" / "[" / "/" "" / ""; "/?"; पैरामीटर मान
और ज्ञात MIME प्रकारों की एक सूची जो इसका अनुसरण कर सकती है (या, जो टिप्पणी के रूप में, IANA स्रोत )।
जैसा कि आप देख सकते हैं कि सूची उन सभी के खिलाफ मान्य करने के लिए आपके लिए बहुत बड़ी है। आप जो कर सकते हैं, वह सामान्य प्रारूप और type
सही (विकल्प का सेट छोटा है) को सुनिश्चित करने की विशेषता के खिलाफ मान्य है और बस यह मान लें कि जो सही है वह सही है (और किसी भी अपवाद को पकड़ें जब आप इसे डाल सकते हैं। वास्तविक उपयोग के लिए)।
ऊपर टिप्पणी भी नोट करें:
यदि किसी अन्य कारण से किसी अन्य प्राथमिक प्रकार का उपयोग किया जाना है, तो उसे अपने गैर-मानक स्थिति को इंगित करने और भविष्य के आधिकारिक नाम के साथ किसी भी संभावित संघर्ष से बचने के लिए "X-" से शुरू होने वाला नाम दिया जाना चाहिए।
आप देखेंगे कि बहुत सारे HTTP अनुरोधों / प्रतिक्रियाओं में X-
कुछ प्रकार के हेडर शामिल हैं जो स्वयं परिभाषित हैं, प्रकारों को मान्य करते समय इसे ध्यान में रखें।
मैं संभव "सामग्री-प्रकार" मूल्यों के सबसेट को कवर करने का लक्ष्य रखता हूं, आप सवाल करते हैं कि ज्ञात सामग्री प्रकारों की पहचान करने पर ध्यान केंद्रित करें।
@Jeroen RFC 1341 संदर्भ बहुत अच्छा है, लेकिन एक काफी संपूर्ण सूची के लिए IANA आधिकारिक तौर पर पंजीकृत मीडिया प्रकारों का एक वेब पेज यहां रखता है ।
यदि आप jaxrs या किसी अन्य का उपयोग कर रहे हैं, तो अनुरोध भेजने से पहले mediatype.User इंटरसेप्टर नामक एक वर्ग होगा और इसके खिलाफ तुलना करें।