क्या रेंज अनुरोधों के साथ मुझे एक नमूना http सत्र दिखाना संभव है। मेरा मतलब है कि अनुरोध और प्रतिक्रिया हेडर क्या होगा?
क्या रेंज अनुरोधों के साथ मुझे एक नमूना http सत्र दिखाना संभव है। मेरा मतलब है कि अनुरोध और प्रतिक्रिया हेडर क्या होगा?
जवाबों:
निम्नलिखित एक्सचेंज क्रोम और एक स्थिर वेब सर्वर के बीच है, एक MP4 वीडियो को पुनर्प्राप्त करता है।
प्रारंभिक अनुरोध - वीडियो के लिए। Accept-Ranges
सर्वर के हेडर समर्थन को इंगित करने के लिए प्रतिक्रिया हेडर पर ध्यान दें :
GET /BigBuckBunny_320x180.mp4
Cache-Control: max-age=0
Connection: keep-alive
Accept-Language: en-GB,en-US,en
Host: localhost:8080
Range:
Accept: text/html,application/xhtml+xml,application/xml,*/*
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 ...
Accept-Encoding: gzip,deflate,sdch
Accept-Charset: ISO-8859-1,utf-8,*
200 OK
Content-Type: video/mp4
Connection: keep-alive
Last-Modified: Wed,14 Dec 2011 15:50:59 GMT
ETag: A023EF02BD589BC472A2D6774EAE3C58
Transfer-Encoding:
Content-Length: 64657027
Accept-Ranges: bytes
Server: Brisket/1.0.1
Date: Wed,14 Dec 2011 16:11:24 GMT
पिछली प्रतिक्रिया में रेंज हेडर का पता चला - समर्थन की पुष्टि करने के लिए ओपन-एंडेड रेंज के साथ बाद में अनुरोध। Content-Range
प्रतिक्रिया शरीर में मौजूद बाइट्स को इंगित करने के लिए एक 206 स्थिति और हेडर देता है :
GET /BigBuckBunny_320x180.mp4
Connection: keep-alive
Accept-Language: en-GB,en-US,en
Host: localhost:8080
Range: bytes=0-
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 ...
Referer: http://localhost:8080/BigBuckBunny_320x180.mp4
Accept-Encoding: identity
Accept-Charset: ISO-8859-1,utf-8,*
206 Partial Content
Content-Type: video/mp4
Connection: keep-alive
Last-Modified: Wed,14 Dec 2011 15:50:59 GMT
ETag: A023EF02BD589BC472A2D6774EAE3C58
Transfer-Encoding:
Content-Length: 64657027
Accept-Ranges: bytes
Server: Brisket/1.0.1
Date: Wed,14 Dec 2011 16:11:25 GMT
Content-Range: bytes 0-64657026/64657027
फ़ाइल के अंत (संभवतः अनुगामी मेटाडेटा को पकड़ने के लिए) के बाद की रेंज अनुरोध:
GET /BigBuckBunny_320x180.mp4
Connection: keep-alive
Accept-Language: en-GB,en-US,en
Host: localhost:8080
Range: bytes=64312833-64657026
Accept: */*
If-Range: A023EF02BD589BC472A2D6774EAE3C58
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 ...
Referer: http://localhost:8080/BigBuckBunny_320x180.mp4
Accept-Encoding: identity
Accept-Charset: ISO-8859-1,utf-8,*
206 Partial Content
Content-Type: video/mp4
Connection: keep-alive
Last-Modified: Wed,14 Dec 2011 15:50:59 GMT
ETag: A023EF02BD589BC472A2D6774EAE3C58
Transfer-Encoding:
Content-Length: 344194
Accept-Ranges: bytes
Server: Brisket/1.0.1
Date: Wed,14 Dec 2011 16:11:25 GMT
Content-Range: bytes 64312833-64657026/64657027
डाउनलोड की गई सीमा से आगे वीडियो प्रगति बार में उपयोगकर्ता क्लिक - चयनित स्थिति से खेलना शुरू करने के लिए एक सीमा अनुरोध जारी किया जाता है:
GET /BigBuckBunny_320x180.mp4
Connection: keep-alive
Accept-Language: en-GB,en-US,en
Host: localhost:8080
Range: bytes=1073152-64313343
Accept: */*
If-Range: A023EF02BD589BC472A2D6774EAE3C58
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 ...
Referer: http://localhost:8080/BigBuckBunny_320x180.mp4
Accept-Encoding: identity
Accept-Charset: ISO-8859-1,utf-8,*
206 Partial Content
Content-Type: video/mp4
Connection: keep-alive
Last-Modified: Wed,14 Dec 2011 15:50:59 GMT
ETag: A023EF02BD589BC472A2D6774EAE3C58
Transfer-Encoding:
Content-Length: 63240192
Accept-Ranges: bytes
Server: Brisket/1.0.1
Date: Wed,14 Dec 2011 16:11:25 GMT
Content-Range: bytes 1073152-64313343/64657027
Accept-Ranges: bytes
हेडर के माध्यम से क्लाइंट को "मैं रेंज अनुरोध स्वीकार करता हूं" बताता है , लेकिन यह संसाधन के लिए सामग्री की लंबाई को भी भेजता है ताकि क्लाइंट ऊपरी के साथ रेंज अनुरोध कर सके। बाध्य। क्लाइंट संदेश में कुछ भी नहीं कहता है कि जहां तक मुझे पता है - सर्वर "यहां संपूर्ण संसाधन है" या "मैं स्वीकार करता हूं रेंज अनुरोधों" के साथ जवाब देना चुन सकता है - जो फिर से Accept-Ranges
हेडर का अस्तित्व है । यह वैसे भी मेरी समझ है।