HTTP 요청의 압축 및 압축 해제를 위해 Nginx를 사용하는 방법

WBOY
풀어 주다: 2023-08-02 10:09:18
원래의
1148명이 탐색했습니다.

Nginx를 사용하여 HTTP 요청을 압축 및 압축 해제하는 방법

Nginx는 강력하고 유연한 고성능 웹 서버이자 역방향 프록시 서버입니다. HTTP 요청을 처리할 때 Nginx에서 제공하는 gzip 및 gunzip 모듈을 사용하여 요청을 압축 및 압축 해제하여 데이터 전송량을 줄이고 요청 응답 속도를 향상시킬 수 있습니다. 이 기사에서는 Nginx를 사용하여 HTTP 요청을 압축 및 압축 해제하는 방법에 대한 구체적인 단계를 소개하고 해당 코드 예제를 제공합니다.

  1. gzip 모듈 구성

먼저 Nginx 구성 파일에서 gzip 모듈을 활성화해야 합니다. Nginx 구성 파일(일반적으로/etc/nginx/nginx.conf또는/usr/local/nginx/conf/nginx.conf에 있음)을 열고 http 블록을 찾으세요. , 다음 구성을 추가하세요./etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf),找到http块,添加以下配置:

http { gzip on; gzip_types text/plain text/css application/javascript; gzip_min_length 1024; gzip_comp_level 1; }
로그인 후 복사

上述配置的含义如下:

  • gzip on;表示启用gzip模块。
  • gzip_types表示需要压缩的文件类型。这里我们选择了文本文件、CSS文件和JavaScript文件。你可以根据自己的需求进行配置。
  • gzip_min_length表示只有文件长度超过这个值的文件才会进行压缩。
  • gzip_comp_level表示压缩级别,级别越高,压缩效果越好,但占用的CPU资源也越多。
  1. 配置gunzip模块

如果你需要对接收到的请求进行解压缩,还需要启用gunzip模块。在同一个配置文件中找到http块,添加以下配置:

http { gunzip on; }
로그인 후 복사
  1. 应用配置并重启Nginx

保存Nginx配置文件后,执行以下命令应用配置并重启Nginx服务:

sudo service nginx reload
로그인 후 복사

请确保你具备足够的权限。

  1. 验证压缩和解压缩

现在你已经配置好了Nginx的压缩和解压缩模块。你可以通过向Nginx发送HTTP请求来验证这些功能是否生效。

首先,使用curl工具发送一个GET请求到配置的Nginx服务:

curl -H "Accept-Encoding: gzip, deflate" -I http://localhost
로그인 후 복사

命令中的-H "Accept-Encoding: gzip, deflate"表示告诉服务器可以接受gzip或deflate的压缩方式。-I表示只获取响应头信息,而不需要获取完整的响应体。

如果一切正常,你将会在响应头中看到类似下面的信息:

Content-Encoding: gzip
로그인 후 복사

这表示服务器已经将响应体压缩成gzip格式进行传输。

接下来,你可以使用以下命令发送一个解压缩的请求:

curl --compressed -I http://localhost
로그인 후 복사

命令中的--compressed

Content-Encoding:
로그인 후 복사
위 구성의 의미는 다음과 같습니다.

gzip on;은 gzip 모듈을 활성화한다는 의미입니다.

gzip_types는 압축해야 하는 파일 형식을 나타냅니다. 여기서는 텍스트 파일, CSS 파일 및 JavaScript 파일을 선택했습니다. 필요에 따라 구성할 수 있습니다.

gzip_min_length는 길이가 이 값을 초과하는 파일만 압축된다는 의미입니다.

gzip_comp_level은 압축 수준을 나타냅니다. 수준이 높을수록 압축 효과는 높아지지만 CPU 리소스를 더 많이 차지합니다.

    gunzip 모듈 구성
  • 수신된 요청의 압축을 풀어야 하는 경우 gunzip 모듈도 활성화해야 합니다. 동일한 구성 파일에서 http 블록을 찾아 다음 구성을 추가합니다.
  • rrreee
    1. 구성을 적용하고 Nginx를 다시 시작합니다.
    Nginx 구성 파일을 저장한 후 다음 명령을 실행하여 구성을 적용합니다. Nginx 서비스를 다시 시작하세요: rrreee충분한 권한이 있는지 확인하세요.
      압축 및 압축 해제 확인이제 Nginx의 압축 및 압축 해제 모듈을 구성했습니다. Nginx에 HTTP 요청을 보내 이러한 기능이 작동하는지 확인할 수 있습니다. 먼저, 컬 도구를 사용하여 구성된 Nginx 서비스에 GET 요청을 보냅니다. rrreee -H 명령의 "Accept-Encoding: gzip, deflate"는 서버에 GET 요청을 할 수 있음을 알리는 것을 의미합니다. gzip을 수락하거나 압축 방법을 압축 해제하세요. -I는 전체 응답 본문을 가져오지 않고 응답 헤더 정보만 가져옴을 나타냅니다. 모든 것이 순조롭게 진행되면 응답 헤더에 다음과 유사한 정보가 표시됩니다. rrreee이는 서버가 전송을 위해 응답 본문을 gzip 형식으로 압축했다는 의미입니다. 다음으로 다음 명령을 사용하여 압축 해제 요청을 보낼 수 있습니다. rrreee명령의 --compressed는 수신된 응답이 압축되었으며 압축을 풀어야 함을 서버에 알립니다. 모든 것이 순조롭게 진행되면 응답 헤더에 다음과 유사한 정보가 표시됩니다. rrreee이는 서버가 응답 본문의 압축을 풀고 원래 형식으로 전송했다는 의미입니다. 위 단계와 검증을 통해 HTTP 요청의 압축 및 압축 해제를 구현하도록 Nginx의 gzip 및 gunzip 모듈을 성공적으로 구성했습니다. 요약이 글에서는 Nginx를 사용하여 HTTP 요청을 압축 및 압축 해제하는 방법을 소개하고 관련 구성 및 명령 예제를 제공합니다. Nginx의 gzip 및 gunzip 모듈을 사용하면 데이터 전송량을 줄이고 요청 응답 속도를 향상시키는 데 도움이 될 수 있습니다. 적절한 구성과 사용을 통해 웹 애플리케이션의 성능과 사용자 경험을 향상시킬 수 있습니다. 사용 중 문제가 발생하면 Nginx 공식 문서를 참조하거나 도움을 요청할 수 있습니다. 이 글의 내용이 여러분에게 도움이 되기를 바랍니다! 참조 링크: Nginx 공식 문서: http://nginx.org/en/docs/Gzip 모듈 구성 가이드: https://nginx.org/en/docs/http/ngx_http_gzip_module.html Gunzip 모듈 구성 가이드: https://nginx.org/en/docs/http/ngx_http_gunzip_module.html

    위 내용은 HTTP 요청의 압축 및 압축 해제를 위해 Nginx를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    관련 라벨:
    원천:php.cn
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!