العرض (Rendering) يعني تحويل البيانات والشيفرة إلى الصفحة التي يراها المستخدم. وفي العرض من جهة الخادم (SSR) يتم ذلك على الخادم قبل وصول الصفحة إلى المتصفح، فيستلم المتصفح HTML جاهزاً وكاملاً. وفي المقابل، في العرض من جهة المستخدم يستلم المتصفح أولاً صفحة شبه فارغة مع جافا سكريبت ويبني المحتوى بنفسه.
مثال ملموس#
افترض أن لديك صفحة منتج. في SSR عندما يفتح المستخدم أو زاحف جوجل العنوان، يكون عنوان المنتج وسعره ووصفه في HTML الأولي في اللحظة نفسها. وفي العرض من جهة المستخدم تظهر أولاً صفحة فارغة ثم يظهر المحتوى بعد تنفيذ جافا سكريبت.
المزايا#
- ظهور أسرع لأول محتوى، خاصةً على الهواتف الضعيفة والإنترنت البطيء
- ظهور أكثر ضماناً للمحتوى لمحركات البحث وأدوات معاينة الروابط في تطبيقات المراسلة
- استهلاك موارد أقل على جهاز المستخدم
التكاليف#
- حمل أكبر على الخادم، لأن كل طلب يجب أن يُعرض
- تعقيد أكبر في التنفيذ والنشر
- يجب الحفاظ على سرعة الاستجابة بتخزين مؤقت (Cache) صحيح
أين تصادفه#
ووردبريس ومعظم مواقع PHP تعمل بطبيعتها من جهة الخادم. وفي عالم جافا سكريبت توفّر أطر عمل مثل Next.js وNuxt إمكانية SSR لتطبيقات React وVue.
الفرق عن الموقع الثابت#
في الموقع الثابت يكون HTML مبنياً ومحفوظاً مسبقاً. أما في SSR فتُبنى الصفحة عند الطلب ويمكن أن تعتمد على المستخدم أو على بيانات لحظية.