অ্যাপ্লিকেশন / জেসন এবং অ্যাপ্লিকেশন / x-www-form-urlencoded মধ্যে পার্থক্য


উত্তর:


187

প্রথম কেসটি ওয়েব সার্ভারকে বলছে যে আপনি JSON ডেটা পোস্ট করছেন:

{ Name : 'John Smith', Age: 23}

দ্বিতীয় বিকল্পটি ওয়েব সার্ভারকে বলছে যে আপনি URL হিসাবে প্যারামিটারগুলি এনকোড করবেন:

Name=John+Smith&Age=23

17
এটি সার্ভার সাইডে কী প্রভাব ফেলবে। আমি Stackoverflow & টুইটার ব্যবহার মতো সাইটের দেখতে x-www-form-urlencodedভোট ইত্যাদি প্রতিক্রিয়া মত AJAX অনুরোধ জন্য ফেরত পাঠানো হয় JSON। আমি ভাবব যে একটি প্রতিসম অনুরোধ / প্রতিক্রিয়া জুটি অর্থাৎ উভয় জেএসএন থাকা ভাল better
ব্যবহারকারী

@ বাফার আমি আপনার প্রতিসাম্য প্রশ্নের উত্তর জানতে আগ্রহী।
অ্যাডাম জনস

1
@ অ্যাডাম জোনস: এই ব্লগটি পড়ার মতো যদিও এটি ঠিক "কেন" এর উত্তর দেয় না: homakov.blogspot.in/2012/06/…
ব্যবহারকারী

21
@ বুফার আমার বোধগম্যতা JSON কে কনটেন্ট টাইপ হিসাবে ব্যবহার করছে যখন পাঠানো ডেটা আরও জটিল হয় এবং এতে অনেকগুলি শ্রেণিবিন্যাস জড়িত থাকে .. অন্যদিকে ইউরোপটিতে ফর্ম এনকোড করা ভাল যা খুব বেশি কোড ছাড়াই ব্যাকএন্ডে পড়া যায়। .. আমি অনুমান করি এর উত্তর এটির কেন এটির অংশ।
অঙ্কিত শ্রীবাস্তব

@ মিডোরেটর একটি দেরী মন্তব্য। যদিও উদাহরণস্বরূপ, আপনি যখন কোনও জটিল জেএসওএন অবজেক্টকে এতে কোনও অ্যারের সাথে অ্যারে পাঠিয়েছেন application/x-www-form-urlencodedতখন সার্ভারকে বিভ্রান্ত করবেন (এলিক্সার আমার ক্ষেত্রে পয়জন ব্যবহার করে) এবং অবজেক্টটির কিছু অনুপযুক্ত পার্সিংয়ের ফলে (এটি কোনওভাবে নেস্টেড অ্যারে রূপান্তরিত করবে) তালিকার পরিবর্তে কোনও মানচিত্রে অবজেক্টস) application/jsonএই ক্ষেত্রে ব্যবহার করা সঠিক পছন্দ হওয়া উচিত।
এক্সজি

6

webRequest.ContentType = "অ্যাপ্লিকেশন / x-www-form-urlencoded";

  1. কোথায় আবেদন / এক্স-WWW-ফর্ম-urlencoded এর নাম থেকে এসেছে?

    আপনি যদি HTTP GET অনুরোধ প্রেরণ করেন তবে আপনি কোয়েরি প্যারামিটারগুলি নিম্নরূপ ব্যবহার করতে পারেন:

    http://example.com/path/to/page? নাম = সন্ধানী & রঙ = রক্তবর্ণ

    ক্ষেত্রগুলির সামগ্রীটি কোয়েরি স্ট্রিং হিসাবে এনকোড হয়েছে। application/x-www-form- urlencodedএর নাম পূর্ববর্তী URL ক্যোয়ারী মাপদন্ড থেকে আসা কিন্তু ক্যোয়ারী পরামিতি পরিবর্তে অনুরোধের যেখানে শরীর URL রয়েছে।

    পুরো ফর্ম তথ্য একটি দীর্ঘ ক্যোয়ারী string.The কোয়েরি স্ট্রিং হিসাবে পাঠানো রয়েছে name- মান জোড়া দিয়ে আলাদা করা চরিত্র

    যেমন ফিল্ড 1 = মান 1 এবং ফিল্ড 2 = মান 2

  2. এটি সাধারণ বলা সহজ অনুরোধ হতে পারে - একটি প্রাকফ্লাইট চেক ট্রিগার করবেন না

    সাধারণ অনুরোধে কিছু বৈশিষ্ট্য থাকতে হবে। আপনি আরও তথ্যের জন্য এখানে দেখতে পারেন । এর মধ্যে একটি হ'ল সাধারণ অনুরোধের জন্য সামগ্রী-প্রকারের শিরোনামের জন্য কেবল তিনটি মান অনুমোদিত

    • আবেদন / এক্স-WWW-ফর্ম-urlencoded
    • একাধিক / ফর্ম-ডেটা
    • পাঠ্য / সাধারণ

৩. বেশিরভাগ ফ্ল্যাট পরম গাছের জন্য, অ্যাপ্লিকেশন / x-www-form-urlencoded চেষ্টা করে পরীক্ষা করা হয়।

অনুরোধ। কনটেন্টটাইপ = "অ্যাপ্লিকেশন / জসন; চরসেট = utf-8";

  1. ডেটা হবে জসন ফর্ম্যাট।

আরও জনপ্রিয় এনএমপি এইচটিটিপি লাইব্রেরিগুলির মধ্যে দুটি অক্সিজো এবং হাইপারজেন্ট , ডিফল্টরূপে জেএসএন সংস্থার সাথে কাজ করে।

{
  "id": 1,
  "name": "Foo",
  "price": 123,
  "tags": [
    "Bar",
    "Eek"
  ],
  "stock": {
    "warehouse": 300,
    "retail": 20
  }
}
  1. "অ্যাপ্লিকেশন / জেসন" বিষয়বস্তুর প্রকার পূর্বনির্ধারিত অনুরোধগুলির মধ্যে একটি

এখন, যদি অনুরোধটি সহজ অনুরোধ না হয় তবে মূল অনুরোধটি প্রেরণ করা নিরাপদ কিনা তা পরীক্ষা করতে ব্রাউজারটি স্বয়ংক্রিয়ভাবে অপশন বিকল্পের মাধ্যমে একটি HTTP অনুরোধ প্রেরণ করে। যদি এটি ঠিক থাকে তবে প্রকৃত অনুরোধটি প্রেরণ করুন। আপনি আরও তথ্যের জন্য এখানে দেখতে পারেন ।

  1. অ্যাপ্লিকেশন / জেসসন শিক্ষানবিস-বান্ধব। ইউআরএল এনকোডেড অ্যারেগুলি দুঃস্বপ্ন হতে পারে!
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.