Middle
Frontend rivojlantirishda marshrutlashni amalga oshirishning qanday usullari mavjud?
sobes.tech AI
AIdan javob
Frontendda routingni amalga oshirishning ikki asosiy usuli mavjud:
-
Mijoz tomonidagi routing: Routing to'g'ridan-to'g'ri brauzerda JavaScript yordamida boshqariladi.
- Ishlash prinsipi: Navigatsiya paytida sahifa to'liq yangilanmaydi. JavaScript brauzerning manzil satridagi URLni (History API yordamida) o'zgartiradi va kerakli komponentlar yoki sahifa qismlarini dinamik ravishda yuklaydi yoki qayta chizadi.
- URL holati:
- History API (
pushState,replaceState) dan foydalanadi. URL toza,#siz. - Hash (
#) ni URLda ishlatishi mumkin (eski usul#bilan).
- History API (
- Afzalliklari:
- Foydalanuvchi tajribasini yaxshilash (tezroq o'tishlar, to'liq yangilashsiz).
- Bir sahifali ilovalar (SPA) uchun mos.
- Kamchiliklari:
- To'g'ridan-to'g'ri URL orqali kirishni to'g'ri ishlash uchun server konfiguratsiyasini qo'shimcha qilish kerak (masalan, fallback ni index.html ga sozlash).
- Agar kontent faqat mijoz tomonida render qilinsa, SEO muammolari bo'lishi mumkin (SSR yoki pre-render bilan hal qilinadi).
- Mashhur kutubxonalar/frameworklar: React Router, Vue Router, Angular Router.
-
Server tomonidagi routing: Routing to'liq serverda boshqariladi.
- Ishlash prinsipi: Har bir yangi URL uchun brauzer serverga so'rov yuboradi. Server so'rovni ishlaydi, qaysi kontentni qaytarishni aniqlaydi va to'liq HTML sahifasini mijozga yuboradi. Brauzer sahifani to'liq yangilaydi.
- URL holati: URL serverdagi haqiqiy resursga mos keladi.
- Afzalliklari:
- Ko'p sahifali ilovalar uchun soddalashtirilgan.
- SEO uchun yaxshi indeksatsiya, chunki kontent darhol tayyor.
- Asosiy navigatsiya uchun JavaScript talab qilinmaydi.
- Kamchiliklari:
- To'liq yangilash tufayli sahifa o'tishlar sekinroq bo'ladi.
- SPA ga nisbatan kamroq interaktiv.
- Misollar: An'anaviy veb ilovalardan meros qolgan, har bir URL alohida fayl yoki serverdagi marshrutga mos keladi (masalan, PHP, Python Django/Flask, Node.js Express va boshqalar).
Zamonaviy frontend ilovalarida, ayniqsa SPAlarda, mijoz tomonidagi routing standart hisoblanadi. Server tomonidagi routing ko'proq ko'p sahifali saytlar uchun yoki SEO yaxshilash uchun mijoz tomonidagi routing bilan birga ishlatiladi (masalan, SSR).