302 বনাম 303 এর উদাহরণ


22

একটি 302এবং 303প্রতিক্রিয়া মধ্যে পার্থক্য কি ?

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

  • 10.3.3 302 পাওয়া গেছে
  • 10.3.4 303 অন্যান্য দেখুন

এগুলি কি বিনিময়যোগ্য বা অন্যটি কেন ব্যবহার করা হবে? আপনি কখন দয়া করে একটি ব্যবহারের কেস সরবরাহ করতে পারবেন (এবং অন্যটি ব্যবহার করবেন না)?

উত্তর:


35

আপনি যে পৃষ্ঠায় লিঙ্ক করেছেন তার বিবরণটি তাদের উদ্দেশ্যিত উদ্দেশ্য সম্পর্কে মোটামুটি বর্ণনামূলক বলে মনে হচ্ছে:

একটি 302 পুনর্নির্দেশটি নির্দেশ করে যে পুনর্নির্দেশটি অস্থায়ী - ক্লায়েন্টদের ভবিষ্যতের অনুরোধগুলিতে মূল URL এ আবার পরীক্ষা করা উচিত।

একটি 303 পুনর্নির্দেশ বলতে কোনও সংস্থাকে POSTঅনুরোধ পুনর্নির্দেশ করা বোঝায় GET(অন্যথায়, ক্লায়েন্ট ধরে নেয় যে নতুন অবস্থানের জন্য অনুরোধ পদ্ধতিটি মূল সংস্থান হিসাবে একই)।

আপনি যদি নিজের ওয়েব অ্যাপ্লিকেশনের অংশ হিসাবে কোনও ক্লায়েন্টকে পুনঃনির্দেশ করছেন তবে তাদের সর্বদা ওয়েব অ্যাপ্লিকেশন (উদাহরণস্বরূপ, একটি URL সংক্ষিপ্তকারী) থেকে শুরু করার প্রত্যাশা করছেন, তবে 302 টি পুনর্নির্দেশটি বোধগম্য মনে হয়। একটি 303 পুনর্নির্দেশ হ'ল ব্যবহারের জন্য যখন আপনি POSTকোনও ক্লায়েন্টের কাছ থেকে ডেটা গ্রহণ করছেন (যেমন, একটি ফর্ম জমা) এবং আপনি সেগুলি (উদাহরণস্বরূপ, একটি স্ট্যান্ডার্ড পৃষ্ঠার অনুরোধ) এর GETপরিবর্তে পুনরুদ্ধার করার জন্য একটি নতুন ওয়েব পৃষ্ঠায় পুনর্নির্দেশ করতে চান POST

তবে স্থিতি কোড সংজ্ঞা থেকে এই নোটটি দেখুন - বেশিরভাগ ক্লায়েন্টরা 302 বা 303 এর জন্য একই কাজ করবে:

  Note: RFC 1945 and RFC 2068 specify that the client is not allowed
  to change the method on the redirected request.  However, most
  existing user agent implementations treat 302 as if it were a 303
  response, performing a GET on the Location field-value regardless
  of the original request method. The status codes 303 and 307 have
  been added for servers that wish to make unambiguously clear which
  kind of reaction is expected of the client.

4
পরিষ্কার কিন্তু ভুল। একটি 303 পুনর্নির্দেশ স্থায়ী নয় । আরএফসির বিবৃতিতে "303 টি প্রতিক্রিয়া ক্যাশে করা উচিত নয়" । আপনি এখানে যে বর্ণনাটি দিয়েছেন তা একটি 301 পুনর্নির্দেশের সাথে মেলে।
লাড্ডাড্ডা

2
আমার কুলপা। আমার পিছনে 301 এবং 303 ছিল। আমি উত্তর আপডেট করেছি।
লারস্কগুলি

এখন 308 আছে
মিরান্ডা

আমি মনে করি যে 303 "পোষ্ট" কে জিইটি - পুরো স্টপতে পুনর্নির্দেশের "মানে" বোঝাতে কিছুটা বিভ্রান্তিকর। অনুমানটি সুপারিশ করে যে 303 মূল অনুরোধ পদ্ধতির মাধ্যমে কোনও উত্সের উপস্থাপনের প্রাপ্যতা সম্পর্কে আরও বেশি। যদি, উদাহরণস্বরূপ, আমার কাছে একটি বড় অধিকার-সুরক্ষিত চিত্র কেবল প্রমাণীকৃত ব্যবহারকারীদের জন্য উপলভ্য থাকে তবে আমি 303 টি ব্যবহার করতে পারি অনাতৃত্বীকৃত ব্যবহারকারীদের একটি ছোট ছবিতে পুনর্নির্দেশ করতে। এই জাতীয় ক্ষেত্রে অনুরোধের পদ্ধতিটি অপ্রাসঙ্গিক।
বিউডেট

আরএফসি বলছে "এই পদ্ধতিটি প্রাথমিকভাবে একটি পোষ্ট-সক্রিয় স্ক্রিপ্টের আউটপুটটিকে ব্যবহারকারী এজেন্টকে একটি নির্বাচিত উত্সে পুনর্নির্দেশের অনুমতি দেওয়ার জন্য বিদ্যমান।" এবং "অনুরোধের প্রতিক্রিয়াটি ভিন্ন ইউআরআইয়ের অধীনে পাওয়া যায় এবং সেই উত্সটিতে জিইটি পদ্ধতি ব্যবহার করে পুনরুদ্ধার করা উচিত"। আমি মনে করি যে আমি যা বলেছিলাম (যা বহু বছর আগে ছিল) তার সাথে অনেকটা মিলছে তবে আমি নিশ্চিত যে এর ব্যাখ্যার অবকাশ রয়েছে।
লারসস

15

চারটি আলাদা পুনর্নির্দেশের ধরণ রয়েছে (বর্তমানে)। মূলত সেখানে মাত্র দুটি ছিল তবে বেশিরভাগ ক্লায়েন্ট 302 টি পুনর্নির্দেশকে ভুলভাবে কার্যকর করেছিল তাই 302 পাওয়ার ক্ষেত্রে দুটি ভিন্ন সম্ভাব্য আচরণের মধ্যে পার্থক্য স্পষ্ট করার জন্য আরও দু'জন যুক্ত করা হয়েছিল।

আপনি যে আরএফসিটির সাথে লিঙ্ক করেছেন তাতে 302 পুনর্নির্দেশের অংশে এটি উল্লেখ করা হয়েছে:

  Note: RFC 1945 and RFC 2068 specify that the client is not allowed
  to change the method on the redirected request.  However, most
  existing user agent implementations treat 302 as if it were a 303
  response, performing a GET on the Location field-value regardless
  of the original request method. The status codes 303 and 307 have
  been added for servers that wish to make unambiguously clear which
  kind of reaction is expected of the client.
  1. একটি 301 পুনর্নির্দেশ স্থায়ী পুনঃনির্দেশ। এটি ক্যাশেযোগ্য এবং এই ইউআরএলের যে কোনও বুকমার্কগুলি নতুন ইউআরএলকে নির্দেশ করতে আপডেট করা উচিত।
  2. একটি 302 পুনর্নির্দেশ একটি অস্থায়ী পুনঃনির্দেশ। এটি ডিফল্টরূপে ক্যাশেযোগ্য নয় এবং প্রতিবারই অনুরোধ করা উচিত (তবে আপনি এটি ক্যাশেড শিরোনাম দিয়ে ওভাররাইড করতে পারেন)। ফলো-আপ অনুরোধটি মূল অনুরোধ হিসাবে একই পদ্ধতি (পোষ্ট, জিইটি, সংযোগ, পুট, ডিলেট, ইত্যাদি) ব্যবহার করা উচিত এবং জিইটি এবং হেড অনুরোধ ব্যতীত অন্য কোনও কিছুর জন্য ক্লায়েন্টকে অনুরোধ করার আগে ব্যবহারকারীকে অনুরোধ জানানো উচিত। এটি সেই অংশ যা ক্লায়েন্টদের ভুল হয়েছে এবং তাদের বেশিরভাগই মূল পদ্ধতিটি নির্বিশেষে জিইটি-র কাছে অনুসরণের অনুরোধের জন্য পদ্ধতিটি পরিবর্তন করে।
  3. একটি 303 পুনর্নির্দেশ হ'ল 302 এর সমতুল্য ব্যতীত অনুসরণের অনুরোধটি এখন স্পষ্টভাবে একটি জিইটি অনুরোধে পরিবর্তিত হয়েছে এবং কোনও নিশ্চয়তার প্রয়োজন নেই।
  4. একটি 307 পুনর্নির্দেশ হ'ল 302 এর সমান হ'ল ফলো-আপ অনুরোধটি স্পষ্টভাবে মূল অনুরোধের সমান এবং GET এবং HEAD ব্যতীত অনুরোধ পদ্ধতির জন্য ব্যবহারকারীর কাছ থেকে নিশ্চয়তা অর্জন করতে হবে।

পুরানো ক্লায়েন্টরা 303 পুনর্নির্দেশ বুঝতে পারে না। এইচটিটিপি / ১.১ অনুরোধ করে এমন যে কোনও কিছুতেই 303 টি প্রতিক্রিয়া বোঝা উচিত।

300 এবং 305 টি প্রতিক্রিয়াগুলি পুনঃনির্দেশ হিসাবে বিবেচনা করা সম্ভব, যার অর্থ ছয়টি বিভিন্ন ধরণের রয়েছে।


0

পুনর্নির্দেশ প্রকারের (301,302,303 ...) ব্যবহৃত অনুসন্ধানের ইঞ্জিনগুলি কীভাবে বিষয়বস্তুকে সূচক এবং রেঙ্ক করবে তার উপর অনেক বেশি প্রভাব ফেলে। কিছু মাকড়সা এমনকি অস্থায়ীভাবে পুনঃনির্দেশিত সামগ্রীকেও প্রত্যাখ্যান করতে পারে। বিভিন্ন এসইও সাহিত্যে বিশদ পাওয়া যাবে ...

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.