Nginx 필터 모듈의 기능을 분석

출처: 인터넷
작성자: 사용자
키워드: Nginx 필터 모듈

4.1. 머리 필터 함수 분석

다음 세 가지 기본 섹션 머리 필터 기능에 의하여 이루어져 있다:

1.이 응답 조작 여부 결정

2. 조작이 응답

3. 다음 필터 함수를 호출

예를 들어 여기에 "수정된" 헤더 필터 함수의 간단한 버전이입니다. 클라이언트의 경우-modfied-이후 머리 일치 상태 응답의 마지막으로 수정한 헤더 설정 되어 304를 수정. 머리 filter 함수는 하나의 매개 변수 ngx_http_request_t, 하지만 클라이언트의 머리에 액세스 하 고 곧 응답 머리를 보낼 수 있습니다.

정적

ngx_int_t Ngx_http_not_modified_header_filter (ngx_http_request_t * r) 없음

time_t if_modified_since;

If_modified_since = Ngx_http_parse_time (R → headers_in.if_modified_since → value.data, r → headers_in.if_ Modified_since-> value.len);

/ * 1 단계: 작동 여부 결정 * *

경우 (if_modified_since! = ngx_error & & if_modified_since = = r → headers_out.last_modified_time) 없음

/ * 2 단계: 헤더에 * *

R → headers_out.status = ngx_http_not_modified;

R → headers_out.content_type.len = 0;

Ngx_http_clear_content_length (R);

Ngx_http_clear_accept_ranges (R);

}

/ * 3:call 다음 필터 단계 * *

Ngx_http_next_header_filter (R); 반환

}

Headers_out 구조 처리 모듈 (http/ngx_http_request.h)에서 같이 이며 임의로 변경 될 수 있습니다.

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.