ইউআরএল-এ থাকা শতাংশে সাইন ইন করার কারণে এইচটিটিপি 400 খারাপ অনুরোধের ত্রুটি কেন ঘটায়?


22

আমার ওয়েব ব্রাউজারে কোনও ওয়েব পৃষ্ঠার জন্য ইউআরএলটি ভুল টাইপ করার সময় আমি দুর্ঘটনাক্রমে এটিকে হোঁচট খেয়েছি।

কেন ভিজিট করার http://example.com/%কারণে এইচটিটিপি 400 খারাপ অনুরোধ ত্রুটি নিক্ষেপ করা হবে? শতকরা চিহ্নের পরে বা তার আগে সার্ভার কি অন্য কিছু প্রত্যাশা করছে?

এটি অ্যাপাচি এবং এনগিনেক্স সার্ভারগুলির জন্য ঘটবে বলে মনে হচ্ছে।


উত্তর:


32

সংক্ষিপ্ত উত্তর

অনুযায়ী বোঝায় যা RFC 3986 , একটি খালি %অক্ষর একটি বৈধ নয় কোনো URI সিনট্যাক্স; এটি দুটি অর্থবহ হেক্সাডেসিমাল অঙ্ক দ্বারা অনুসরণ করা উচিত ।

দীর্ঘ উত্তর

আপনি যে HTTP স্থিতি কোড পেয়েছেন তা 4xxশ্রেণীর অন্তর্ভুক্ত:

4xx: Client Error - The request contains bad syntax or cannot be fulfilled

উত্স: হাইপারটেক্সট ট্রান্সফার প্রোটোকল (এইচটিটিপি) স্থিতি কোড রেজিস্ট্রি

বিশেষত, কোডটি আরএফসি 2616 ইন্টারনেট ইঞ্জিনিয়ারিং টাস্ক ফোর্স (আইইটিএফ) 400দ্বারা সংজ্ঞায়িত করা হয়েছে :

10.4.1 400 খারাপ অনুরোধ

অনুরোধটি ত্রুটিযুক্ত সিনট্যাক্সের কারণে সার্ভারের দ্বারা বোঝা গেল না। ক্লায়েন্টটি কোনও পরিবর্তন ছাড়াই অনুরোধটির পুনরাবৃত্তি করা উচিত নয়।

উত্স: আরএফসি 2616 - হাইপারটেক্সট স্থানান্তর প্রোটোকল - এইচটিটিপি / 1.1

উইকিপিডিয়া উদ্ধৃত (সাহসী জোর খনি):

কোনও ইউআরআই-এ অনুমোদিত অক্ষরগুলি হয় সংরক্ষিত বা সংরক্ষণযোগ্য নয় ( বা শতাংশ-এনকোডিংয়ের অংশ হিসাবে শতাংশ অক্ষর )।

উত্স: শতাংশ-এনকোডিং - ইউআরআই-তে শতাংশ-এনকোডিং

আপনি যদি একটি আক্ষরিক সন্নিবেশ করতে চান %প্রতীক, আপনি তার শতাংশ এনকোডেড উপস্থাপনা ব্যবহার করতে হবে: %25

আরও পড়া


আমি পাই না। যদি আমি '% 25' চিহ্ন দিয়ে '%' চিহ্নটি মুখোশ করি তবে ফাইলটি এখনও পরিবেশন করা হবে না তবে একটি ত্রুটি 400 আমাদের দৃশ্যে ফেলে দেওয়া হবে (অ্যাপাচি -> জে কেমাউন্ট ->
টোম্যাট

আপনার যদি RewriteRule (.*) xyz/$1.htaccess এ নিম্নলিখিত রাইরাইটরুল (যেখানে xyz কোনও ফোল্ডারের নাম) থাকে তবে আপনার % 2525 হিসাবে ডাবল- কোড কোড করা উচিত ।
মার্কো মার্শালা

9

শতাংশ চিহ্নটি এমন কোনও অক্ষর সন্নিবেশ করানোর জন্য যা সাধারণত ইউআরএলে সমর্থিত নয়। উদাহরণস্বরূপ% 20 একটি স্থানের সমান।


4
এবং একটি শতাংশ চরিত্র নিজেই %25
sertোকাতে

একটি +একটি শর্টকাট পথ একটি স্থান এনকোড হয়। আপনি যদি সত্যিকারের প্লাস চিহ্ন চান, তবে এর হেক্স কোড,% 2B ব্যবহার করুন।
ফিল পেরি

3
+ কেবল একটি ক্যোরি স্ট্রিংয়ের মধ্যে কোনও জায়গার জন্য সঠিক এনকোডিং। % 20 হ'ল url এর মধ্যে অন্য কোথাও সঠিক এনকোডিং।
ইডেন টাউনসেন্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.