
와 함께mod_log지시문을 사용하여 access.log 파일에 클라이언트로 다시 전송된 헤더를 기록할 수 있습니다 %{Set-Cookie}o
. 하지만 만약 있다면여러 번 발생동일한 헤더의HTTP RPC에 의해 승인됨,하나만 기록됩니다.
우리는 어떻게 가질 수 있습니까?그들 모두로그인 ?
참고로 RFC에는 다음과 같이 명시되어 있습니다.
동일한 필드 이름을 가진 여러 메시지 헤더 필드는 해당 헤더 필드의 전체 필드 값이 쉼표로 구분된 목록[즉, #(값)]으로 정의된 경우에만 메시지에 존재할 수 있습니다.
Set-Cookie
필드 값이 쉼표로 구분되어 있으므로 이러한 필드 이름입니다. HTTP RPC에서 제안한 대로 이들을 함께 결합하는 것은 괜찮습니다.
답변1
어떤 아파치 버전인가요? mod_log의 버전은 무엇입니까? 정답은 아파치에 버그 보고서를 제출하거나 직접 패치하는 것입니다.
답변2
실제로 버전 2.0부터 다음을 제외하고는 기본적으로 작동합니다 Content-type
. 모든 헤더는 HTTP RFC에서 제안한 대로 쉼표로 잘 연결됩니다.
log_header_out
"Set-Cookie" 응답 헤더도 다음 함수 에서 볼 수 있듯이 특별하게 처리됩니다 modules/loggers/mod_log_config.c
.
// ... start of snippet ...
if (!strcasecmp(a, "Content-type") && r->content_type) {
cp = ap_field_noparam(r->pool, r->content_type);
}
else if (!strcasecmp(a, "Set-Cookie")) {
cp = find_multiple_headers(r->pool, r->headers_out, a);
}
else {
cp = apr_table_get(r->headers_out, a);
}
// ... end of snippet ...