Перейти к содержимому
docs.
WORKSPACE

Документации проектов

Открыть каталог проектов
Localzet ServerАсинхронный PHP-сервер✓TriangleФреймворк и компонентыMIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компонентыФинансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLICronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet ServerflowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet ServerinterpreterСобственный языкinvariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroutelaravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet ServerSOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проектаzorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Каталог
Документация/Localzet Server

HTTP-ответ

Response — изменяемый объект Server, не immutable PSR-7 response. Каждый with*() возвращает тот же экземпляр. Создавайте ответ на каждый запрос; не переиспользуйте общий объект между клиентами.

header()/withHeader(), withHeaders() изменяют карту. getHeader() и withoutHeader() ищут имя без учёта регистра, но запись хранит переданный регистр: не добавляйте одно имя с разным регистром. getHeaders() возвращает карту. При сериализации CR/LF удаляются из имён/значений; это не основание принимать произвольные пользовательские заголовки.

cookie($name, $value, $maxAge, $path, $domain, $secure, $httpOnly, $sameSite) добавляет Set-Cookie, кодируя имя/значение. Параметр времени — Max-Age в секундах, не Unix timestamp. Для auth-cookie задайте подходящие Secure/HttpOnly/SameSite и область; CSRF контролируется приложением.

withFile($path, $offset = 0, $length = 0) готовит метаданные; реальную отправку выполняет HTTP codec, а не (string)$response. Не найденный/нечитаемый файл даёт 404. Отрицательные offset/length запрещены. Путь выбирайте из разрешённого хранилища после проверки доступа, не склеивайте с непроверенным URL.

withFileForRequest($request, $path) добавляет обработку GET/HEAD, preconditions (412), validators (304) и одного byte range (416 для невыполнимого). Несколько ranges дают полный ответ; multipart/byteranges не формируется. Успешный диапазон хранится в метаданных для codec. ETag строится из mtime/size, не из хеша содержимого.

withCompressionForRequest($request, $minBytes = 1024, $level = -1) включает gzip только явно: учитывает q-values, Range, no-transform, уже заданное кодирование/stream/file и уменьшение размера. Не смешивайте секреты и отражённый ввод в сжимаемом ответе без оценки утечки по длине.

withChunkedTransfer() удаляет Content-Length и очищает тело. После отправки заголовков отправляйте Chunk и завершайте пустым Chunk; не посылайте новый Response на каждое событие. Рабочий SSE показан в сборнике.

Source.