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)에서 같이 이며 임의로 변경 될 수 있습니다.