একটি পোস্টব্যাক এবং একটি কলব্যাকের মধ্যে পার্থক্য


116

আমি এই শব্দগুলি ' কলব্যাক ' এবং ' পোস্টব্যাক ' প্রায় ছড়িয়ে পড়ে শুনেছি hearing
দুজনের মধ্যে পার্থক্য কী?

পোস্টব্যাকটি কি এএসপি.নেট পৃষ্ঠাগুলির সাথে খুব নির্দিষ্ট?

উত্তর:


204

পৃষ্ঠায় থাকা ডেটা (পুরো পৃষ্ঠাটি) ক্লায়েন্ট থেকে সার্ভারে পোস্ট করা হলে একটি পোস্টব্যাক হয়..এই ডেটা সার্ভারে পোস্ট-ব্যাক করা হয় , এবং এভাবে পৃষ্ঠাটি রিফ্রেশ হয় (পুনরায় নকশা করা হয়) ... এটি ভাবুন হিসাবে ' ডেটা পূর্ণ সার্ভার পুরো পৃষ্ঠা (asp.net) প্রেরণ '।

অন্যদিকে, একটি কলব্যাকও একটি বিশেষ ধরণের পোস্টব্যাক , তবে এটি সার্ভারের জন্য একটি সামান্য ডেটা (সাধারণত) পেতে একটি দ্রুত চলাফেরা , এবং এইভাবে পোস্টটি রিফ্রেশ হয় না, পোস্টব্যাকের মতো নয় unlike ... এটিকে ' সার্ভারে কল করা, এবং কিছু তথ্য ফিরে পাওয়া ' হিসাবে ভাবেন ।

Asp.Net এর মাধ্যমে, কোনও পোস্টব্যাকের মতো নয়, কলব্যাক চাওয়া হলে ভিউস্টেটটি রিফ্রেশ হয় না

পুরো পৃষ্ঠাটি এএসপি.নেটের সাথে পোস্ট করার কারণ হ'ল এএসপি.নেট <form>একটি পোস্ট পদ্ধতিতে পুরো পৃষ্ঠাটি একটি আবরণে আবদ্ধ করে এবং তাই যখন পৃষ্ঠায় একটি সাবমিট বাটন ক্লিক করা হয়, ফর্মটি সমস্তটি দিয়ে সার্ভারে প্রেরণ করা হয় যে ক্ষেত্রগুলি ফর্মটিতে রয়েছে ... মূলত পুরো পৃষ্ঠাটি।

আপনি যদি ফায়ারব্যাগ ব্যবহার করছেন (ফায়ারফক্সের জন্য), আপনি প্রকৃতপক্ষে সার্ভারে কলব্যাকগুলি আহ্বান করতে দেখছেন Console। এইভাবে, আপনি দেখতে পাবেন সার্ভারে কোন নির্দিষ্ট ডেটা প্রেরণ করা হচ্ছে ( Request) এবং সার্ভার আপনাকে যে ডেটা ফেরত পাঠিয়েছে ( Response)।


নীচের চিত্রটি ASP.NET ভিত্তিক ওয়েবসাইটে পোস্টব্যাক এবং একটি কলব্যাক উভয়ের পৃষ্ঠা লাইফ চক্রের চিত্র তুলে ধরেছে:

এএসপি.নেট পৃষ্ঠা জীবনচক্র
(সূত্র: এসরি.কম )


18
প্রকৃতপক্ষে, একটি ফাংশনটির জন্য একটি কলব্যাক আরও সাধারণ প্রোগ্রামিং শব্দ যা অন্য ফাংশনটি শেষ হওয়ার পরে কার্যকর করা দরকার।
রায়ান দোহার্টি

1
এটি যখন কোনও ফাংশনের পয়েন্টারটি অন্য ফাংশনে পৌঁছে যায়, এটি পরে অনুরোধ করবে
আন্দ্রেয়াস গ্রেচ


18

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

একটি কলব্যাক, সাধারণত এজেএক্সের সাথে ব্যবহৃত হয়, যখন ক্লায়েন্টের কাছ থেকে কোনও সার্ভারে অনুরোধ প্রেরণ করা হয় যার জন্য পৃষ্ঠাটি রিফ্রেশ হয় না, ব্রাউজারে কোনও ঝাঁকুনির ঘটনা ছাড়াই এর কেবলমাত্র একটি অংশ আপডেট করা হয়


5

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


4

এই আলোচনার প্রচুর অংশ হ'ল এএসপি.নেট গাবলডিগুক ভাষা ....

উত্তরটি হল হ্যাঁ. মাইক্রোসফ্টের এএসপি.নেট সম্পর্কিত পোস্টব্যাক একটি "শব্দ" নির্দিষ্ট, তবে মনে রাখবেন যে মাইক্রোসফ্টের মতো বিক্রেতারা এই প্রক্রিয়াগুলির ওডব্লিউ সংস্করণগুলি তাদের নিজস্ব প্রয়োগের চারপাশে গুটিয়ে রাখেন, আমাদের এইচটিপি / এইচটিএমএল বিশ্বের সত্যিকারের হ্যাপেনগুলি সম্পর্কে বিভ্রান্ত করে।

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

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

কলব্যাকটি কেবল জাভাস্ক্রিপ্ট। এটির কেবলমাত্র ECMAScriptT সার্কাস কৌশলগুলি এএসপি.এনইট স্টোরগুলিকে যা তারা জাজান্টিক জাভাস্ক্রিপ্ট লাইব্রেরিতে তাদের এজেএক্স এপিআই বলে সার্ভার থেকে আপনার ব্রাউজার ডাউনলোডগুলি, এবং এএসপি.নেট বিকাশকারীরা অজান্তেই সম্পূর্ণ পোস্টপ্যাক ছাড়াই একটি ওয়েব পৃষ্ঠায় পরিবর্তনগুলি ট্রিগার করতে তাদের ওয়েব পৃষ্ঠাগুলিতে প্যাক করে। এজ্যাক্সের জন্য এএসপি.এনইটি এপিআই কেবল এই সমস্ত বৃহত জাভাস্ক্রিপ্ট তৈরি করে যা ক্লায়েন্টের পাশে রয়েছে এবং যা ব্রাউজারে ট্রিগার হয়ে যায় যখন ব্যবহারকারী কিছু পরিবর্তন করে, কোনও কিছুর উপর ঘূর্ণায়িত হয় বা ব্রাউজারে এমন কিছু ক্লিক করে যা ট্র্যাগার করে traditionalতিহ্যবাহী জাভাস্ক্রিপ্ট ব্রাউজার ডিওএম ইভেন্টগুলি, তারপরে প্রক্রিয়াটি চালাতে JSON বা অন্যান্য ডেটার একটি বিশাল লোডটি সার্ভারে ফিরে আসে। এরপরে জাভাস্কিপ্টড লাইব্রেরি এবং ব্রাউজারে মেমরির অবজেক্টগুলি স্বীকৃত হয় এবং ব্যবহারকারীদের ওয়েব পৃষ্ঠা এবং মার্কআপের অংশগুলি পরিবর্তন করে।

এটি বলেছে যে প্রায় 5-10% ব্যবহারকারী এবং ব্রাউজার জাভাস্ক্রিপ্ট অক্ষম করেছে যাতে এই সমস্ত JSON এবং AJAX সেই সমস্ত ব্যক্তির জন্য ক্র্যাশ হয়ে যায় এবং জ্বলতে পারে। অর্থাৎ কলব্যাক কাজ করবে না।

পর্দার আড়ালে এটিই চলে। আপনি যদি আমাকে জিজ্ঞাসা করেন তবে এটির বেশিরভাগ অংশই ওভারকিল। এবং এএসপি.এনইটি-তে ওয়েব কন্ট্রোল মডেলগুলি অতীতে সমালোচিত হয়েছিল তাও।

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

কলব্যাকের জন্য আপনি ঠিক একই HTML পৃষ্ঠায় একটি সাধারণ জাভাস্ক্রিপ্ট / ECMAScript কোড যুক্ত করতে পারেন যেখানে ব্যবহারকারী যখন কিছু পাঠ্য বা বোতামের উপরে রোল করে, ক্লিক করে, বা কোনও ফর্ম ক্ষেত্র পরিবর্তন করে, ওয়েব পৃষ্ঠাটি পোস্ট করা হয় না, তবে আপনার পর্দার আড়ালে জাভাস্ক্রিপ্ট সার্ভারে কিছু প্রেরণ আছে। আপনি নিজের জাভাস্ক্রিপ্ট, জেএসএন, বা লাইব্রেরির মাধ্যমে কীভাবে এটি পরিচালনা করেন তা হ'ল আরেকটি বিষয়। তবে এটি যাদু নয়। জাভাস্কিপ্ট বা জাভাস্ক্রিপ্ট অক্ষম না করে এমন লোকদের জন্য আপনার কোনও কলব্যাক ছাড়াই পৃষ্ঠাগুলি ডিজাইন করা উচিত এবং ফর্ম ক্ষেত্র নিয়ন্ত্রণ বা হাইপারলিঙ্কগুলি ক্লিক করার পরে ফিরে আসা কোনও পরিবর্তনকে ক্যাশে করা উচিত। কলব্যাক রুটিনগুলিতে পুনর্বিবেচনা করার এক কারণ যদিও বর্তমানে বেশিরভাগ আধুনিক ব্যবহারকারী-এজেন্টরা এখন ইসমা স্ক্রিপ্টড ওয়েবসাইট রুটিনের জন্য সেটআপ করছেন।

এটিই মানুষকে বিভ্রান্ত করে ...... খুব বেসিক এইচটিটিপি অনুরোধগুলির জাভাস্ক্রিপ্টযুক্ত কৌশলগুলির এই বিক্রেতার বাস্তবায়নগুলি স্পষ্ট নয় এমন ভাষায় লেয়ার হয়ে যায়। এরপরে এটি লোকেদের মনঘটিত ওয়েব অ্যাপ্লিকেশনগুলি তৈরি করতে বাধ্য করে যা এই সমস্ত অপ্রয়োজনীয় জিনিসগুলি করে যা খুব সাধারণ কোডিং সমাধান করবে।

আমি এখনও এএসপি.এনইটি ব্যবহার এবং সুপারিশ করি। এটি একটি দীর্ঘ পথ এবং একটি দুর্দান্ত ব্যবস্থা এসেছে। তবে এই সাহায্য করবে যদি আরও লোকেরা তাদের ব্যবহারের আগে তারা কী করে তার বেসিকগুলি বুঝতে পারে কারণ এই ফ্রেমওয়ার্কগুলি কাস্টমাইজ করা যায় এবং তাদের উন্নতি করতে বেশ কিছুটা সরলীকৃত করা যেতে পারে যদি আপনি দেখেন যে হুডের নীচে আসলে কী চলছে।


0

একটি সার্ভারে একটি অনুরোধ প্রেরণ করা হলে একটি পোস্টব্যাক হয় যখন প্রতিটি অনুরোধের জন্য সুরক্ষা সম্পর্কে বিশদ দেওয়ার প্রয়োজন হয় না।

আপনি যখন অন্য পৃষ্ঠার জন্য একটি অনুরোধ করেন তখন সার্ভার দ্বারা কলব্যাক ব্যবহৃত হয়


0

একটি পোস্টব্যাকও মূলত একটি রাউন্ড ট্রিপ হয় যখন কোনও পোস্টব্যাক তখন কার্যকর হয় তখন এটি বিশেষ পদ্ধতিটিকে কল করে যা রাউন্ড ট্রিপ নামে পরিচিত ost পোষ্টব্যাকটি সার্ভারের পাশে যেখানে ক্লায়েন্ট সিডে রাউন্ড ট্রিপ হয়।

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