গৃহীত উত্তর এবং এই প্রশ্নের জেনেরিক প্রকৃতির মন্তব্যগুলিতে ('কাজ করবেন না') দেখে আমি ভাবলাম যে এখানে জড়িত বিষয়গুলি সম্পর্কে কিছু সাধারণ ব্যাখ্যা করার জন্য এটি ভাল জায়গা হতে পারে। সুতরাং এই উত্তরটি ওপি-র নির্দিষ্ট ব্যবহারের ক্ষেত্রে ব্যাকগ্রাউন্ড তথ্য / বিস্তৃতকরণ হিসাবে উদ্দিষ্ট। আমার সাথে সহ্য করুন।
সার্ভার-সাইড বনাম ক্লায়েন্ট-সাইড
এটি সম্পর্কে বুঝতে প্রথমে বড় জিনিসটি হ'ল এখন এমন দুটি জায়গা রয়েছে যেখানে ইউআরএল ব্যাখ্যা করা হয়, যেখানে 'পুরানো দিনগুলিতে' কেবল 1 থাকত। অতীতে, যখন জীবন সহজ ছিল, কিছু ব্যবহারকারী http://example.com/about
সার্ভারে একটি অনুরোধ প্রেরণ করেছিলেন, যা ইউআরএলটির পাথ অংশটি খতিয়ে দেখেছিল, নির্ধারিত হয়েছে যে ব্যবহারকারীটি পৃষ্ঠার বিষয়ে অনুরোধ করছে এবং তারপরে সেই পৃষ্ঠাটি ফেরত পাঠিয়েছে।
ক্লায়েন্ট-সাইড রাউটিংয়ের সাথে যা প্রতিক্রিয়া-রাউটার সরবরাহ করে, জিনিসগুলি কম সহজ। প্রথমদিকে, ক্লায়েন্টের এখনও কোনও জেএস কোড লোড হয়নি। তাই সর্বদা প্রথম অনুরোধটি সর্বদা সার্ভারের কাছে থাকবে। এরপরে এমন একটি পৃষ্ঠা ফিরে আসবে যা প্রতিক্রিয়া এবং প্রতিক্রিয়া রাউটার ইত্যাদি লোড করার জন্য প্রয়োজনীয় স্ক্রিপ্ট ট্যাগগুলি অন্তর্ভুক্ত করবে those কেবলমাত্র যখন এই স্ক্রিপ্টগুলি লোড হয়ে গেছে তখনই দ্বিতীয় পর্যায়ে শুরু হবে। দ্বিতীয় ধাপে, যখন ব্যবহারকারী 'আমাদের সম্পর্কে' নেভিগেশন লিঙ্কে উদাহরণস্বরূপ ক্লিক করেন, ইউআরএল স্থানীয়ভাবে কেবল পরিবর্তিত হয় http://example.com/about
( ইতিহাস এপিআই দ্বারা সম্ভব ) তবে সার্ভারের কাছে কোনও অনুরোধ করা হয়নি। পরিবর্তে, প্রতিক্রিয়া রাউটারটি ক্লায়েন্টের পক্ষ থেকে তার কাজটি করে, কোনটি প্রতিক্রিয়া দেখায় এটি সরবরাহ এবং রেন্ডার করে determin আপনার পৃষ্ঠাটি ধরে নেওয়া যে কোনও আরইএসটি কল করার দরকার নেই, এটি ইতিমধ্যে হয়ে গেছে। কোনও সার্ভারের অনুরোধ ছাড়াই আপনি বাসা থেকে আমাদের সম্পর্কে স্থানান্তরিত হয়েছেন।
সুতরাং মূলত আপনি যখন কোনও লিঙ্কটি ক্লিক করেন, কিছু জাভাস্ক্রিপ্ট চালিত হয় যা কোনও পৃষ্ঠা রিফ্রেশ না করে অ্যাড্রেস বারে ইউআরএলকে ম্যানিপুলেট করে , যার ফলস্বরূপ প্রতিক্রিয়া রাউটারটি ক্লায়েন্টের পাশে একটি পৃষ্ঠা রূপান্তর সম্পাদন করে ।
তবে এখন বিবেচনা করুন যদি আপনি ঠিকানা বারে URL টি কপি-পেস্ট করেন এবং কোনও বন্ধুর কাছে এটি ইমেল করেন। আপনার বন্ধুটি এখনও আপনার ওয়েবসাইট লোড করেনি। অন্য কথায়, তিনি এখনও প্রথম পর্যায়ে রয়েছেন । তার মেশিনে এখনও কোনও প্রতিক্রিয়া রাউটার চলছে না। সুতরাং তার ব্রাউজারটি একটি তৈরি করবে সার্ভারটি অনুরোধটি করতে http://example.com/about
।
আর এখান থেকেই আপনার ঝামেলা শুরু হয়। এখন অবধি, আপনি কেবল আপনার সার্ভারের ওয়েবরুটে একটি স্ট্যাটিক এইচটিএমএল রেখে পালিয়ে যেতে পারেন। কিন্তু যে দিতে হবে 404
অন্য সব URL গুলির জন্য ত্রুটি সার্ভার থেকে অনুরোধ । সেই একই URL গুলি ক্লায়েন্ট পক্ষের পক্ষে দুর্দান্ত কাজ করে , কারণ সেখানে প্রতিক্রিয়া রাউটার আপনার জন্য রাউটিং করছে তবে তারা ব্যর্থ হয় তবে আপনি যদি আপনার সার্ভারটি সেগুলি না বুঝে সেগুলি সার্ভার সাইডে হয় ।
সার্ভারের মিশ্রণ- এবং ক্লায়েন্ট-সাইড রুটিং
আপনি যদি http://example.com/about
URL টি সার্ভার- এবং ক্লায়েন্ট-সাইড উভয় ক্ষেত্রেই কাজ করতে চান তবে আপনাকে এটির জন্য সার্ভার- এবং ক্লায়েন্ট সাইড উভয়দিকেই রুট সেট আপ করতে হবে। বুদ্ধি ঠিক আছে?
এবং এখানেই আপনার পছন্দগুলি শুরু হয়। সমাধানগুলি সম্পূর্ণরূপে সমস্যাটিকে বাইপাস করা থেকে শুরু করে, ক্যাচ-অল রুট দিয়ে যা বুটস্ট্র্যাপ এইচটিএমএল ফিরিয়ে দেয়, সম্পূর্ণ অন-আইসমোফিক পদ্ধতির দিকে যেখানে সার্ভার এবং ক্লায়েন্ট উভয়ই একই জেএস কোড চালায়।
।
সামগ্রিকভাবে সমস্যাটিকে বাইপাস করছে: হ্যাশ ইতিহাস
ব্রাউজার ইতিহাসের পরিবর্তে হ্যাশ ইতিহাসের সাথে , প্রায় পৃষ্ঠার জন্য আপনার ইউআরএলটি দেখতে এরকম কিছু লাগবে:
হ্যাশ ( ) চিহ্নের পরে অংশটি সার্ভারে প্রেরণ করা হয়নি। সুতরাং সার্ভারটি কেবল প্রত্যাশা অনুযায়ী সূচী পৃষ্ঠাটি দেখে এবং প্রেরণ করে। প্রতিক্রিয়া-রাউটারটি অংশটি তুলে নিবে এবং সঠিক পৃষ্ঠাটি প্রদর্শন করবে।http://example.com/#/about
#
http://example.com/
#/about
ডাউনসাইডস :
- 'কুৎসিত' ইউআরএল
- এই পদ্ধতির সাথে সার্ভার-সাইড রেন্ডারিং সম্ভব নয়। যতদূর অনুসন্ধান ইঞ্জিন অপ্টিমাইজেশান (এসইও) সম্পর্কিত, আপনার ওয়েবসাইটটিতে কোনও কন্টেন্ট সহ একটি পৃষ্ঠা রয়েছে।
।
সকল-ক্যাচ
এই পদ্ধতির মাধ্যমে আপনি ব্যবহার ব্রাউজার ইতিহাস না, কিন্তু শুধু একটা সকল-ক্যাচ সার্ভার পাঠায় সেট আপ /*
করার জন্যindex.html
কার্যকরভাবে আপনি হ্যাশ ইতিহাস যতটা একই পরিস্থিতি দান। আপনার কাছে পরিষ্কার ইউআরএল রয়েছে এবং আপনার ব্যবহারকারীর সমস্ত পছন্দ অবৈধ না করেই আপনি এই স্কিমটি পরে উন্নত করতে পারেন।
ডাউনসাইডস :
- আরও জটিল সেট আপ
- তবুও ভাল এসইও নেই
।
অকুলীন
হাইব্রিড পদ্ধতির ক্ষেত্রে আপনি নির্দিষ্ট রুটের জন্য নির্দিষ্ট স্ক্রিপ্ট যুক্ত করে ক্যাচ-অল দৃশ্যের উপরে প্রসারিত করুন। অন্তর্ভুক্ত সামগ্রী সহ আপনার সাইটের সর্বাধিক গুরুত্বপূর্ণ পৃষ্ঠাগুলি ফিরিয়ে দিতে আপনি কিছু সাধারণ পিএইচপি স্ক্রিপ্ট তৈরি করতে পারেন, যাতে গুগলবট অন্তত আপনার পৃষ্ঠায় কী আছে তা দেখতে পারে।
ডাউনসাইডস :
- এমনকি আরও জটিল সেট আপ
- যে রুটগুলির জন্য আপনি বিশেষ চিকিত্সা দিচ্ছেন কেবল তার জন্য কেবল ভাল এসইও
- সার্ভার এবং ক্লায়েন্টে লিখিত সামগ্রী সরবরাহ করার জন্য নকল কোড
।
Isomorphic
আমরা যদি সার্ভার হিসাবে নোড জেএস ব্যবহার করি তবে আমরা উভয় প্রান্তে একই জেএস কোডটি চালাতে পারি ? এখন, আমরা আমাদের সমস্ত রুটগুলি একটি একক প্রতিক্রিয়া-রাউটার কনফিগারেশনে সংজ্ঞায়িত করেছি এবং আমাদের আমাদের রেন্ডারিং কোডটি নকল করার দরকার নেই। এটি 'পবিত্র কচুকা' তাই বলার জন্য। সার্ভারটি ঠিক একই মার্কআপ প্রেরণ করে যা আমরা শেষ করে দিই যদি ক্লায়েন্টের উপর পৃষ্ঠার স্থানান্তর ঘটে থাকে। এসইও-র ক্ষেত্রে এই সমাধানটি সর্বোত্তম।
ডাউনসাইডস :
- সার্ভার অবশ্যই জেএস চালাতে (সক্ষম হতে হবে)। আমি জাভা আইকিউ ন্যাশর্ন নিয়ে পরীক্ষা করেছি কিন্তু এটি আমার পক্ষে কাজ করছে না। অনুশীলনে এটির বেশিরভাগ অর্থ হ'ল আপনাকে অবশ্যই নোড জেএস ভিত্তিক সার্ভার ব্যবহার করতে হবে।
- অনেক জটিল পরিবেশগত সমস্যা (
window
সার্ভার-সাইড ইত্যাদি ব্যবহার করে)
- খাড়া লার্নিং কার্ভ
।
আমার কোনটি ব্যবহার করা উচিত?
আপনি যা পেতে পারেন তা চয়ন করুন। ব্যক্তিগতভাবে আমি মনে করি ক্যাচ-সেট সেট আপ করার পক্ষে যথেষ্ট সহজ, তাই এটি আমার সর্বনিম্ন হবে। এই সেটআপ আপনাকে সময়ের সাথে সাথে উন্নত করতে দেয় allows আপনি যদি ইতিমধ্যে আপনার সার্ভার প্ল্যাটফর্ম হিসাবে নোড জেএস ব্যবহার করে থাকেন তবে আমি অবশ্যই একটি আইসোমরফিক অ্যাপ্লিকেশনটি তদন্ত করব। হ্যাঁ প্রথমে এটি শক্ত, তবে একবার আপনি এটির ঝুলন্ত হয়ে গেলে এটি আসলে সমস্যার খুব মার্জিত সমাধান।
সুতরাং মূলত, আমার জন্য, এটি সিদ্ধান্ত নেওয়ার কারণ হবে। যদি আমার সার্ভার নোড জেএসে চলে, আমি আইসোমর্ফিক যাই; অন্যথায় আমি ক্যাপ-অল সলিউশনে যাব এবং সময় বাড়ার সাথে সাথে এসইও প্রয়োজনীয়তা এটির চাহিদা অনুযায়ী (হাইব্রিড সমাধান) প্রসারিত করব।
আপনি যদি প্রতিক্রিয়াটির সাথে আইসোমর্ফিক (যাকে 'ইউনিভার্সাল'ও বলা হয়) রেন্ডারিং সম্পর্কে আরও শিখতে চান তবে বিষয়টিতে কিছু ভাল টিউটোরিয়াল রয়েছে:
এছাড়াও, আপনাকে শুরু করতে, আমি কিছু স্টার্টার কিটগুলি দেখার পরামর্শ দিই। প্রযুক্তি স্ট্যাকের জন্য আপনার পছন্দগুলির সাথে মেলে এমন একটি চয়ন করুন (মনে রাখবেন, এমভিসিতে প্রতিক্রিয়া কেবলমাত্র ভি V, একটি সম্পূর্ণ অ্যাপ্লিকেশন তৈরি করতে আপনার আরও স্টাফ প্রয়োজন)। ফেসবুক নিজেই প্রকাশিত একটিকে দেখে শুরু করুন:
বা সম্প্রদায় দ্বারা অনেকের মধ্যে একটি বাছুন। এখন একটি দুর্দান্ত সাইট রয়েছে যা তাদের সকলকে সূচক করার চেষ্টা করে:
আমি এগুলি দিয়ে শুরু করেছি:
বর্তমানে আমি সর্বজনীন রেন্ডারিংয়ের একটি হোম-ব্রিউ সংস্করণ ব্যবহার করছি যা উপরের দুটি স্টার্টার কিট দ্বারা অনুপ্রাণিত হয়েছিল, তবে সেগুলি এখন পুরানো।
আপনার উদ্দেশ্য সাথে সৌভাগ্য কামনা করছি!