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.comFigyelj 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.