সদৃশ HTTP প্রতিক্রিয়া শিরোনাম গ্রহণযোগ্য?


123

সদৃশ দ্বারা ডুপ্লিকেট এইচটিটিপি রেসপন্স শিরোনাম অনুমোদিত কিনা তা সম্পর্কে আমি কোনও স্পেসিফিকেশন পাই না, তবে এটি জানাতে হবে যে এটি সামঞ্জস্যতার সমস্যার কারণ হবে কিনা।

বলুন আমার এর মতো প্রতিক্রিয়া শিরোনাম রয়েছে:

HTTP/1.1 302 Moved Temporarily
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.0.3SP1 (build: CVSTag=JBoss_4_0_3_SP1 date=200510231054)/Tomcat-5.5
Cache-Control: no-cache
Cache-Control: no-store
Location: http://localhost:9876/foo.bar
Content-Language: en-US
Content-Length: 0
Date: Mon, 06 Dec 2010 21:18:26 GMT

লক্ষ্য করুন যে দুটি Cache-Controlমান রয়েছে বিভিন্ন মান সহ। ব্রাউজারগুলি কি সর্বদা তাদের সাথে এমন আচরণ করে যেমন সেগুলি "ক্যাশে-নিয়ন্ত্রণ: নো-ক্যাশে, নন-স্টোর" এর মতো লেখা আছে?

উত্তর:


157

হ্যাঁ

এখানে উপলব্ধ HTTP আরএফসি 2616 বলেছেন:

একই ক্ষেত্রের নাম সহ একাধিক বার্তা-শিরোনামের ক্ষেত্রগুলি একটি বার্তায় উপস্থিত থাকতে পারে এবং কেবলমাত্র যদি সেই শিরোলেখের ক্ষেত্রের জন্য পুরো ক্ষেত্রের মানটি কমা-বিচ্ছিন্ন তালিকা [অর্থাৎ, # (মান)] হিসাবে সংজ্ঞায়িত হয়। মেসেজের শব্দার্থক পরিবর্তন না করে একাধিক শিরোলেখ ক্ষেত্রকে একটি "ফিল্ড-নাম: ফিল্ড-মান" জুটিতে সংযুক্ত করা সম্ভব হবে, প্রতিটি পরবর্তী ক্ষেত্রের মানটি প্রথমে কমা দ্বারা পৃথক করা হবে। একই ক্ষেত্রের নামের সাথে শিরোনাম ক্ষেত্রগুলি ক্রম হিসাবে প্রাপ্ত হয় তাই সম্মিলিত ক্ষেত্রের মান ব্যাখ্যার জন্য তাৎপর্যপূর্ণ এবং সুতরাং কোনও বার্তা প্রেরণ করা হলে একটি প্রক্সি এই ক্ষেত্রের মানগুলির ক্রম পরিবর্তন করতে হবে না U

সুতরাং, একই ক্ষেত্রের একাধিক শিরোনাম ঠিক আছে (www-authentic।। Such such such such such such such such such such such such such such such if if if if if if if if) যদি পুরো ক্ষেত্রের মানটি কমা দ্বারা পৃথক করা মানগুলির তালিকা হিসাবে সংজ্ঞায়িত হয়।

ক্যাশে-নিয়ন্ত্রণ এখানে নথিভুক্ত করা হয়েছে: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9 এটি পছন্দ করেছে:

Cache-Control   = "Cache-Control" ":" 1#cache-directive

#1cache-directiveসিনট্যাক্স অন্তত একটি ক্যাশে-নির্দেশ উপাদানের একটি তালিকা (এখানে #values আনুষ্ঠানিকভাবে সংজ্ঞা জন্য দেখুন: সংজ্ঞায়িত প্রতীকের কনভেনশন ও জেনেরিক ব্যাকরণ )

তাই হ্যাঁ,

Cache-Control: no-cache, no-store

সমান (আদেশ গুরুত্বপূর্ণ)

Cache-Control: no-cache
Cache-Control: no-store

2
আপনার দ্রুত প্রতিক্রিয়ার জন্য আপনাকে ধন্যবাদ, সাইমন! তবে আরএফসি 2616 এর উদ্ধৃত অনুচ্ছেদগুলিও ক্যাশে-নিয়ন্ত্রণের ক্ষেত্রেও প্রযোজ্য নয়? আমি কিছু অনুপস্থিত করছি?
সু ঝাং

1
প্রায় 100% সঠিক। ক্যাশে কন্ট্রোল একাধিক মান জন্য করতে পারবেন: Cache-Control = "Cache-Control" ":" 1#cache-directive#আগে খেয়াল করুন cache-directive। এটি ইঙ্গিত দেয় যে একাধিক মান গৃহীত হয়েছে (উপরে আপনার সংজ্ঞা থেকে ডানদিকে) ...
একারম্যাক্সেল

1
"যদি এবং কেবলমাত্র যদি এই শিরোলেখের ক্ষেত্রের পুরো ক্ষেত্রের মানটি কমা-বিচ্ছিন্ন তালিকা হিসাবে সংজ্ঞায়িত করা হয়" - তবে আমার কাছে মনে হয় যে একাধিক মানকে কমা-বিচ্ছিন্ন তালিকা হিসাবে সংজ্ঞায়িত করা উচিত , অর্থাৎ, সেগুলি হতে পারে না পৃথক শিরোনাম হিসাবে বিভক্ত।
এমপেন

2
@মার্ক - "কমা-বিচ্ছিন্ন তালিকা হিসাবে সংজ্ঞায়িত" এর অর্থ এখানে "বিএনএফ ব্যাকরণে কমা-বিচ্ছিন্ন তালিকা হিসাবে সংজ্ঞায়িত করা হয়েছে"। ক্যাশে-নিয়ন্ত্রণ ক্ষেত্রগুলি প্রকৃতপক্ষে এর মতো সংজ্ঞায়িত হয়েছে (x # ব্লাহাব্লাহ)।
সাইমন মউরিয়ার

2
নতুন আরএফসি 30২৩০ এর যে অংশটি একাধিক শিরোলেখ পরিচালনা করার বিষয়ে কথা বলছে তা হ'ল সরঞ্জামগুলি ietietf.org/html/rfc7230#section-3.2.2.2
ম্যাথু বিকেট

0

নোট করুন যে এইচটিএসএস আরএফসি 6797 টি এসটিএস শিরোলেখের একাধিক উদাহরণের জন্য আচরণের সংজ্ঞা দিয়ে আরএফসি 2616 ("যদি এবং যদি কেবলমাত্র" ভাষা লঙ্ঘন করে) বিরোধী করে তবুও এটি কমা-বিচ্ছিন্ন মানগুলি দ্বারা সজ্জিত নয়:

  "If a UA receives more than one STS header field in an HTTP
  response message over secure transport, then the UA MUST process
  only the first such header field."

ত্রুটিপূর্ণ. আরএফসি 6797 এসটিএস শিরোনামকে কমা-বিচ্ছিন্ন তালিকাযুক্ত হিসাবে সংজ্ঞায়িত করে না। সুতরাং আরএফসি 2616 থেকে "যদি এবং কেবলমাত্র" বিধিটি একইভাবে প্রয়োগ হয় (এর অর্থ এসটিএস শিরোনামকে কমা-বিচ্ছিন্ন তালিকা গ্রহণের জন্য সংজ্ঞায়িত করা হয়নি বলে একাধিক এসটিএস শিরোনাম অনুমোদিত নয়)। আরএফসি 6797 কেবলমাত্র এই নিয়ম লঙ্ঘনের ফলে পরিণতিগুলি কী হতে পারে তা অ-নিরঙ্কুশাত্মক করে তোলে, এমন কিছু যা আরএফসি 2616 খালি মনে হচ্ছে।
ফ্রান্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.