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

Python Middle Без компании
Поддерживается ли кэширование в стандарте REST
Ответы
Да, REST поддерживает кэширование через HTTP-заголовки. Основные механизмы: - **Cache-Control** – управляет кэшированием (например, `max-age`, `no-cache`). - **ETag** – хэш ресурса для проверки изменений. - **Last-Modified** – дата последнего изменения ресурса. Пример кода с Flask: ``` 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`, если данные не изменились.