নমুনা http পরিসীমা অনুরোধ সেশন


91

পরিসীমা অনুরোধগুলি সহ আমাকে কী নমুনা HTTP সেশন দেখানো সম্ভব? মানে কি অনুরোধ এবং প্রতিক্রিয়া শিরোনাম হবে?


4
কয়েক মাস আগে HTTP / 1.1 স্ট্যান্ডার্ডের নতুন সংস্করণ প্রকাশিত হয়েছিল। : এটা পরিসীমা অনুরোধ জন্য একটি বিশেষ বোঝায় যা RFC আছে, এই পুরোনো বৈশিষ্ট তুলনায় অনেক বেশি পাঠযোগ্য অনেক আইটেম জন্য উদাহরণ সহ tools.ietf.org/html/rfc7233
Thirler

উত্তর:


136

নিম্নলিখিত এক্সচেঞ্জটি একটি এমপি 4 ভিডিও পুনরুদ্ধার করে ক্রোম এবং একটি স্থিতিশীল ওয়েব সার্ভারের মধ্যে রয়েছে।

প্রাথমিক অনুরোধ - ভিডিওটির জন্য। 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

7
ফাঁকা স্থানান্তর-এনকোডিং শিরোনাম কীভাবে এইচটিটিপি যোগাযোগটি ধরা হয়েছিল তার একটি প্রত্নক্ষেত্র বা এই শিরোলেখের জন্য ফাঁকা মান উত্পন্ন করার জন্য একটি সত্যিকারের এইচটিটিপি সার্ভার রয়েছে?
swl10

7
প্রথম ক্ষেত্রে, দেখে মনে হচ্ছে সার্ভারটি 64657027 বাইট সামগ্রী সরবরাহ করছে। তাহলে কী হচ্ছে - ক্লায়েন্ট কি কেবল সেই বিষয়বস্তু ফেলে দিচ্ছে, এবং তারপরে অংশগুলির জন্য সত্যিই চায় এমন একটি পরিসীমা অনুরোধ জারি করছে? বা সার্ভার ক্লায়েন্টের বার্তায় কিছু সামগ্রী ছাড়াই কোনও সামগ্রী ফিরিয়ে দিচ্ছে না বলে যে এটি করবেন না। যদি তাই হয়, এটা কি?
ম্যারি

4
@ মরি - এটি সার্ভারের মতো দেখে মনে হচ্ছে যে এটি নিজেই পরিসীমা অনুরোধগুলি সমর্থন করে, ক্লায়েন্টকে Accept-Ranges: bytesশিরোনামের মাধ্যমে "আমি রেঞ্জের অনুরোধগুলি গ্রহণ করি" বলি , তবে এটি সংস্থানটির সামগ্রীর দৈর্ঘ্যটি নীচে প্রেরণ করে যাতে ক্লায়েন্ট একটি উপরের সাথে পরিসর অনুরোধ করতে পারে আবদ্ধ. ক্লায়েন্ট বার্তায় কিছুই বলে না যতক্ষণ আমি অবগত আছি - সার্ভার "এখানে পুরো সম্পদটি" বা "আমি পরিসীমা অনুরোধগুলি গ্রহণ করি" - এর সাথে প্রতিক্রিয়া বেছে নিতে পারে - যা আবার Accept-Rangesশিরোনামের অস্তিত্ব । এটি যাইহোক এটি আমার বোঝা।
সাইমন হোয়াইটহেড

4
তবে প্রথম প্রতিক্রিয়ায় 64657027 এর সামগ্রীর দৈর্ঘ্যের অর্থ কি এই শিরোনামটি অনুসরণ করে পেইডের অনেকগুলি বাইট রয়েছে যা সংযোগটি কিপ-অ্যালাইভ থাকার কারণে ক্লায়েন্টকে অবশ্যই গ্রাস করতে হবে? আমি ভাবছি that প্রতিক্রিয়া বার্তায় কী বলে যে আসলে কোনও পেডলোড নেই।
মোরি

4
@ মরি কেপ-লাইভ ক্লায়েন্টের অনুরোধ এবং ক্লায়েন্টটির সংযোগটি ব্যবহার করার কোনও বাধ্যবাধকতা নেই। আমি কেবল নিজের কাজেই সিদ্ধান্ত নিয়েছি যে কমপক্ষে ক্রোমের জন্য, হেড অনুরোধটি ব্যবহার না করে শিরোনাম প্রাপ্ত হওয়ার সাথে সাথে "0-" রেঞ্জের সাথে প্রথম জিইটি অনুরোধটি তত্ক্ষণাত বাতিল করে দেওয়া হয়। আমি বিশ্বাস করি যে কোনও সার্ভারের সমস্যাগুলি এড়ানোর উপায় এটি যা হেড ক্রিয়াটি সঠিকভাবে প্রয়োগ করতে পারে না।
জুমুলেটর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.