Встречается на собеседованиях • сегодня

Поддерживается ли кэширование в стандарте REST

Да, REST поддерживает кэширование через HTTP-заголовки. Основные механизмы:

  1. Cache-Control – управляет кэшированием (например, max-age, no-cache).
  2. ETag – хэш ресурса для проверки изменений.
  3. Last-Modified – дата последнего изменения ресурса.

Пример кода с Flask:

python
from flask import Flask, jsonify, request
import time

app = Flask(__name__)

@app.route('/data')
def get_data():
    # Устанавливаем заголовки кэширования
    response = jsonify({"data": "example"})
    response.headers['Cache-Control'] = 'public, max-age=60'
    response.headers['ETag'] = str(hash("example"))
    return response

Клиент может использовать If-None-Match (с ETag) или If-Modified-Since (с Last-Modified) для проверки актуальности данных. Сервер отвечает 304 Not Modified, если данные не изменились.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы