0Pricing
Edge Computing with Cloudflare Workers & Deno · Урок

Рендеринг на стороне сервера на периферии

Динамически формируйте полнофункциональные страницы на периферии для быстрой первой отрисовки, динамического содержимого и HTML, удобного для SEO.

«Рендеринг на стороне сервера на периферии» — бесплатный урок Edge Computing with Cloudflare Workers & Deno на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Edge Computing with Cloudflare Workers & Deno, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Edge Computing with Cloudflare Workers & Deno содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Why SSR at the Edge?

Server-Side Rendering (SSR) generates HTML on each request instead of shipping a blank shell to the browser.

Running SSR at the edge means:

  • HTML is built close to the user, low latency
  • Great first paint and SEO
  • Personalized, dynamic content per request

SSR vs Static Sites

Static pages are pre-built and cached, fast but identical for everyone.

SSR builds HTML per request, ideal for content that depends on the user, location, or live data.

Many edge apps mix both.

Returning HTML from a Worker

At its core, SSR is just returning an HTML string with the right content type.

export default {
  async fetch(request) {
    const html = '<!DOCTYPE html><html><body><h1>Hello Edge</h1></body></html>';
    return new Response(html, {
      headers: { 'Content-Type': 'text/html;charset=UTF-8' }
    });
  }
};

Injecting Dynamic Data

Fetch data first, then template it into the HTML before responding.

const user = await env.DB.prepare('SELECT name FROM users WHERE id = ?')
  .bind(id).first();
const html = '<h1>Welcome, ' + escapeHtml(user.name) + '</h1>';

Framework SSR on the Edge

Modern frameworks render to a string on the server. Their edge adapters run this inside a Worker.

import { renderToString } from 'react-dom/server';
import { App } from './App';

const markup = renderToString(App({ user }));

Streaming SSR

Instead of waiting for the whole page, stream HTML as it renders so the browser starts painting sooner.

const { readable, writable } = new TransformStream();
renderToReadableStream(App()).then((s) => s.pipeTo(writable));
return new Response(readable, {
  headers: { 'Content-Type': 'text/html' }
});

Hydration

SSR produces static HTML, then client JS hydrates it to make it interactive.

Send the same data to the client so hydration matches the server output exactly, mismatches cause warnings.

const tag = '<script>window.__DATA__ = ' + JSON.stringify(data) + ';</script>';

Using HTMLRewriter

Cloudflare's HTMLRewriter streams and transforms HTML efficiently, perfect for injecting content into a base template.

return new HTMLRewriter()
  .on('title', { element(e) { e.setInnerContent('My Page'); } })
  .transform(response);

Caching SSR Output

Pure-static portions of SSR output can be cached, but personalized pages must not be cached publicly.

Use Cache-Control wisely and vary by user where needed.

headers.set('Cache-Control', 'private, no-store');

SEO Benefits

Because SSR returns fully-formed HTML, crawlers see real content immediately, no JS execution required, improving SEO and social previews.

Best Practices Summary

For solid edge SSR:

  • Fetch data, then render to a string or stream
  • Always escape interpolated data
  • Hydrate with matching client data
  • Stream for faster first paint
  • Cache static parts, never cache private pages publicly

Quick Check

What is the main advantage of streaming SSR over rendering the full page first?

Recap

You can now render full pages at the edge:

  • Return dynamic, escaped HTML per request
  • Use framework adapters and streaming for speed
  • Hydrate with matching client data
  • Transform output with HTMLRewriter and cache carefully

Edge SSR gives you fast, dynamic, SEO-friendly full-stack apps.

Часто задаваемые вопросы

Урок «Рендеринг на стороне сервера на периферии» бесплатный?

Да — полный текст урока «Рендеринг на стороне сервера на периферии» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Edge Computing with Cloudflare Workers & Deno, подпишись на CoddyKit PRO. Курс Edge Computing with Cloudflare Workers & Deno содержит 4 уроков всего.

Чему я научусь в уроке «Рендеринг на стороне сервера на периферии»?

Динамически формируйте полнофункциональные страницы на периферии для быстрой первой отрисовки, динамического содержимого и HTML, удобного для SEO. Ты практикуешь Edge Computing with Cloudflare Workers & Deno с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Edge Computing with Cloudflare Workers & Deno?

Предыдущий опыт не требуется. Edge Computing with Cloudflare Workers & Deno на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Рендеринг на стороне сервера на периферии»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Edge Computing with Cloudflare Workers & Deno?

Да. Каждый урок Edge Computing with Cloudflare Workers & Deno включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Workers Sites и Pages
  2. Интеграция с фреймворками интерфейса
  3. Прокси баз данных с Deno
  4. Рендеринг на стороне сервера на периферии
← Назад к Edge Computing with Cloudflare Workers & Deno