Learning
Networking alapok

Best practice-ek

HTTPS, timeoutok, hibakezelés, retry, CORS, environment változók és rate limiting – fejlesztői szemmel.

Best practice-ek

Mindig HTTPS-t használj (production-ben)

// ❌ Rossz
const API_URL = "http://api.example.com"

// ✅ Helyes
const API_URL = "https://api.example.com"

Kezeld a timeoutokat

const controller = new AbortController()
const timeoutId = setTimeout(() => controller.abort(), 5000)

try {
  const response = await fetch("https://api.example.com/data", { signal: controller.signal })
  clearTimeout(timeoutId)
  const data = await response.json()
  return data
} catch (error: any) {
  if (error?.name === "AbortError") {
    throw new Error("Request timed out")
  }
  throw error
}

Hibakezelés minden hálózati hívásnál

Ne feledd: a fetch nem dob kivételt HTTP 4xx/5xx esetén.

Retry átmeneti hibáknál

Retry-t jellemzően 5xx és hálózati hibákra érdemes, backoff-fal.

CORS-t a szerveren állítsd be

import cors from "cors"

app.use(
  cors({
    origin: ["https://app.example.com", "https://www.example.com"],
    methods: ["GET", "POST", "PUT", "DELETE"],
    allowedHeaders: ["Content-Type", "Authorization"],
    credentials: true,
  })
)

URL-eket env változókból olvass

NEXT_PUBLIC_API_URL=https://api.example.com

Figyelj a rate limiting-re

HTTP 429 esetén várj és próbáld újra a Retry-After alapján.

Rövid összefoglaló

  • HTTPS + timeout + hibakezelés az alap.
  • CORS-t ne „hackeld” kliens oldalon; szerveren engedélyezd.
  • URL-ek ne legyenek hardcode-olva production-ben.

On this page