
SwooleHttpResponse::gzip 옵션을 사용하여 gzip 압축을 활성화하려면, 다음과 같이 설정할 수 있습니다.
#hostingforum.kr
php
$response = new SwooleHttpResponse();
$response->gzip = true;
또는, gzip 압축을 활성화할 때 압축 레벨을 지정할 수 있습니다.
#hostingforum.kr
php
$response = new SwooleHttpResponse();
$response->gzip = 6; // 압축 레벨 6
gzip 압축을 사용하여 응답을 보내는 코드는 다음과 같습니다.
#hostingforum.kr
php
$response = new SwooleHttpResponse();
$response->gzip = true;
$response->status(200);
$response->header("Content-Encoding: gzip");
$response->end("gzip 압축된 응답");
브라우저에서 gzip 압축을 지원하는지 확인하는 방법은 다음과 같습니다.
1. 브라우저의 개발자 도구를 열고, 네트워크 탭을 클릭합니다.
2. 요청을 보내고, 응답을 확인합니다.
3. 응답 헤더 중 "Content-Encoding" 필드가 "gzip"으로 설정되어 있는지 확인합니다.
또한, 브라우저에서 gzip 압축을 지원하는지 확인하는 방법으로, 다음 코드를 사용할 수 있습니다.
#hostingforum.kr
php
function isGzipSupported() {
$response = new SwooleHttpRequest();
$response->header("Accept-Encoding: gzip");
$response->header("Accept-Encoding: deflate");
$response->header("Accept-Encoding: br");
$response->header("Accept-Encoding: identity");
$response->header("Content-Type: text/plain");
$response->header("Content-Length: 1024");
$response->end("gzip 압축된 응답");
$client = new SwooleHttpClient("localhost", 8080);
$client->setHeaders($response->getHeaders());
$client->setCookies($response->getCookies());
$client->setMethod("GET");
$client->setPath("/");
$client->setProtocol(SWOOLE_HTTP_VERSION2);
$client->setBody($response->getBody());
$client->send();
$header = $client->getResponseHeader("Content-Encoding");
return $header == "gzip";
}
echo isGzipSupported() ? "gzip 지원" : "gzip 미지원";
2025-04-10 21:21