Limit va cache
So‘rov limitlari (Rate Limiting), response cache, ETag va 304 Not Modified optimizatsiyasi.
Limitlar
Har bir API kalit uchun standart limitlar:
| Davr | Limit |
|---|---|
| 1 soniya | 8 so'rov |
| 1 daqiqa | 240 so'rov |
Limit oshib ketsa HTTP 429 Too Many Requests qaytariladi. Retry-After headeridagi soniya qadar kuting.
Rate-limit headerlar
| Header | Ma'nosi |
|---|---|
| X-RateLimit-Limit-Second | 1 soniyadagi ruxsat etilgan so'rovlar soni |
| X-RateLimit-Limit-Minute | 1 daqiqadagi ruxsat etilgan so'rovlar soni |
| X-RateLimit-Remaining-Second | Joriy soniyadagi qolgan kvota |
| X-RateLimit-Remaining-Minute | Joriy daqiqadagi qolgan kvota |
| Retry-After | 429 holati — kutish vaqti (soniya) |
Response keshi
GET endpointlar avtomatik ravishda 120 soniya keshlanadi. Har bir javobda X-API-Cache headeri bo'ladi:
| Qiymat | Ma'nosi |
|---|---|
| MISS | Keshda yo'q edi — yangi javob yaratildi va saqlandi |
| HIT | Keshdan qaytarildi |
| BYPASS | Kesh o'tkazib yuborildi (POST yoki Cache-Control: no-cache) |
ETag va 304
Bandwidth tejash uchun conditional request'lardan foydalaning:
1-so'rov — ETag saqlang
HTTP/1.1 200 OK ETag: "a3f5c8e9b1d2..." Content-Type: application/json
2-so'rov — If-None-Match yuboring
GET /products/books HTTP/1.1 If-None-Match: "a3f5c8e9b1d2..." → HTTP/1.1 304 Not Modified (body yo'q, trafik tejaldi)