পটভূমি (আরও নীচে প্রশ্ন)
আমি এই পিছনে পিছনে আরএফসি এবং এসও প্রশ্নগুলি পড়ার চেষ্টা করছি এবং এখনও আমি জ্যাক পাইনি।
সুতরাং আমি অনুমান করি যে আমরা কেবল "সেরা" উত্তরের পক্ষে ভোট দিয়েছি এবং এটিই নাকি?
মূলত এটি এ পর্যন্ত ফোটে।
3.4। অনুসন্ধানের উপাদান
উত্স দ্বারা ব্যাখ্যা করার জন্য ক্যোয়ারী উপাদানটি তথ্যের একটি স্ট্রিং।
query = *uric
ক্যোয়ারী উপাদানগুলির মধ্যে, ";", "/", "?", ":", "@", "&", "=", "+", ",", এবং "$" সংরক্ষণ করা হয়েছে।
প্রথম যে জিনিসটি আমাকে চটজলদি করে তা হল * ইউরিকটি এই জাতীয় সংজ্ঞাযুক্ত
uric = reserved | unreserved | escaped
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","
এটি যেমন অনুচ্ছেদে কিছুটা স্পষ্ট করা হয়েছে
উপরের "সংরক্ষিত" সিনট্যাক্স ক্লাসটি সেই অক্ষরগুলিকে বোঝায় যেগুলি ইউআরআইয়ের মধ্যে অনুমোদিত, তবে জেনেরিক ইউআরআই সিনট্যাক্সের কোনও নির্দিষ্ট উপাদানগুলির মধ্যে অনুমোদিত হতে পারে না; সেগুলি বিভাগ 3 এ বর্ণিত উপাদানগুলির সীমানা হিসাবে ব্যবহৃত হয় used
"সংরক্ষিত" সেটের অক্ষরগুলি সমস্ত প্রসঙ্গে সংরক্ষিত নয়। কোনও প্রদত্ত ইউআরআই উপাদানগুলির মধ্যে প্রকৃতপক্ষে সংরক্ষিত অক্ষরের সেটটি সেই উপাদান দ্বারা সংজ্ঞায়িত করা হয়েছে। সাধারণভাবে, কোনও অক্ষর সংরক্ষিত থাকে যদি ইউআরআই এর শব্দার্থ পরিবর্তন হয় তবে চরিত্রটি তার পালানো ইউএস-এএসসিআইআই এনকোডিংয়ের সাথে প্রতিস্থাপন করা হয়।
এই শেষ অংশটি কিছুটা পিছনের দিকে অনুভূত হয় তবে এটি স্পষ্টভাবে জানিয়ে দেয় যে সংরক্ষিত চরিত্র সেটটি প্রসঙ্গে নির্ভর করে। তবুও states.৪ বলেছে যে সমস্ত সংরক্ষিত অক্ষরগুলি একটি কোয়েরি উপাদানগুলির মধ্যে সংরক্ষিত আছে, তবে, এখানে কেবল শব্দার্থগুলি পরিবর্তিত করবে এমন প্রশ্নগুলি প্রশ্ন চিহ্ন (?) এড়িয়ে চলেছে কারণ ইউআরআইরা কোয়েরি স্ট্রিংয়ের ধারণাটি সংজ্ঞায়িত করে না।
এই মুহুর্তে আমি পুরোপুরি আরএফসিগুলিকে ছেড়ে দিয়েছি তবে আরএফসি 1738 বিশেষভাবে আকর্ষণীয় পেয়েছি।
একটি HTTP URL ফর্মটি গ্রহণ করে:
http://<host>:<port>/<path>?<searchpart>
<path> এবং <searchpart> উপাদানগুলির মধ্যে, "/", ";", "?" সংরক্ষিত শ্রেণিবদ্ধ কাঠামো নির্ধারণ করতে HTTP- র মধ্যে "/" অক্ষর ব্যবহার করা যেতে পারে।
আমি অন্তত এইচটিটিপি ইউআরএল সম্পর্কিত যে এটি আরএফসি 1738 আরএফসি 2396 কে ছাড়িয়ে যায় এর সাথে এটি ব্যাখ্যা করি Because এতক্ষণে করছি
প্রশ্ন
আমি যখন অন্য সংস্থার অনুরোধের সাথে সংখ্যার একটি তালিকা পাস করতে চেয়েছিলাম তখন এটি শুরু হয়েছিল। আমি এর বেশি ভাবি নি, এবং এটি কেবল কমা দ্বারা পৃথক করা মান হিসাবে পাস করেছি। কমা পালাতে গেলেও আমার অবাক লাগল। page.html?q=1,2,3
এনকোড করা ক্যোয়ারী page.html?q=1%2C2%2C3
এটিতে রূপান্তরিত হয়ে কাজ করে তবে এটি কুৎসিত এবং এটি প্রত্যাশা করে না। আরএফসির মধ্য দিয়ে যেতে শুরু করেছি।
আমার প্রথম প্রশ্নটি সহজভাবে, এনকোডিং কমাগুলি কি আসলেই প্রয়োজনীয়?
আরএফসি 2396 অনুসারে আমার উত্তর: হ্যাঁ, আরএফসি 1738 অনুসারে: না
পরে আমি অনুরোধগুলির মধ্যে তালিকাগুলি পাসের বিষয়ে সম্পর্কিত পোস্টগুলি পেয়েছি। যেখানে সিএসভি অ্যাপ্রোচ খারাপ হিসাবে দেখিয়েছিল। এটি পরিবর্তে প্রদর্শিত হয়েছিল, (এটি আগে দেখেনি)।
page.html?q=1;q=2;q=3
আমার দ্বিতীয় প্রশ্ন, এটি কি একটি বৈধ URL?
আরএফসি 2396 অনুসারে আমার উত্তর: না, আরএফসি 1738 অনুসারে: না (; সংরক্ষিত)
সিএসভির সংখ্যা যতক্ষণ না উত্তীর্ণ হবে তাতে আমার কোনও সমস্যা নেই, তবে হ্যাঁ হঠাৎ করে অন্য কোনও কিছুর জন্য যদি কমা দরকার হয় তবে আপনি এনকোড এবং মানগুলি পিছনে পিছনে ডিকোড করার ঝুঁকিতে পড়বেন। যাইহোক আমি এএসপি.এনইটি দিয়ে আধা-কোলন ক্যোয়ারী স্ট্রিং জিনিসটি চেষ্টা করেছি এবং ফলাফলটি আমার প্রত্যাশা মতো হয়নি not
Default.aspx?a=1;a=2&b=1&a=3
Request.QueryString["a"] = "1;a=2,3"
Request.QueryString["b"] = "1"
যখন আমি "ক" জিজ্ঞাসা করি তখন আমি এটিতে কমা দিয়ে একটি স্ট্রিং পাই বলে সিএসভি পদ্ধতির থেকে এটি কীভাবে আলাদা হয় তা আমি দেখতে ব্যর্থ হয়েছি। এএসপি.এনইটি অবশ্যই কোনও রেফারেন্স বাস্তবায়ন নয় তবে এটি আমাকে এখনও হতাশ করে না।
তবে সবচেয়ে গুরুত্বপূর্ণ - আমার তৃতীয় প্রশ্ন - এটির জন্য স্পেসিফিকেশনটি কোথায়? এবং আপনি কি করবেন বা এই বিষয়টি না করার জন্য?