Управление протоколом передачи гипертекста (HTTP) для системы мониторинга космической станции
Вы можете контролировать точные характеристики ответа HTTP на базе объекта находящегося в системе файлов с помощью функции HTTPResponse. Отчеты об ошибках могут быть обработаны и разрешены с помощью функции HTTPErrorResponse.
Зададим функцию, которая определяет город, расположенный ближе всего к текущему местоположению Международной космической станции. Космическая станция перемещается быстро, так что результаты быстро меняются.
issLocationDisplay[]
Воспользуемся объектом файловой системы, который обновляет результат, используя функцию HTTPResponse, чтобы указать тип содержания и заголовок в полученных результатах. Эти данные, в свою очередь, сообщают браузеру, что кэшировать результат не нужно.
obj = CloudDeploy[
Delayed[HTTPResponse[
ExportString[issLocationDisplay[], "PNG"], <|
"ContentType" -> "image/png",
"Headers" -> {"Cache-Control" -> "no-cache"}|>]],
CloudObject["iss-location"], Permissions -> "Public"]
Закроем доступ к файловой системе для определенных пользователей с помощью функции HTTPErrorResponse.
obj = CloudDeploy[Delayed[
If[MemberQ[{"badapple@example.com", "blackhat@example.com",
"spammer@example.com"}, $WolframID],
HTTPErrorResponse[403],
HTTPResponse[
issLocationDisplay[], <|
"Headers" -> {"Cache-Control" -> "no-cache"}|>]
]], CloudObject["iss-location"], Permissions -> "Public"]