Server
응답 헤더 General

개요

Server는 원 서버가 응답을 생성하는 데 사용한 소프트웨어를 알리는 응답 헤더입니다. 요청 측의 User-Agent에 대응하는 서버 측 신원 문자열이라고 볼 수 있습니다.

형식은 제품 토큰과 선택적 버전·주석의 나열입니다(예: `nginx/1.25.3`, `Apache/2.4.57 (Ubuntu)`). 여러 미들웨어를 거치면 토큰이 여러 개 붙기도 합니다.

자세히

값은 사람이 읽기 위한 정보성 헤더로, 프로그램적 동작에 관여하지 않는 것이 원칙입니다. 운영 측에서는 어떤 웹서버·버전이 응답했는지 파악하는 디버깅 단서로 유용합니다.

보안 관점에서는 상세한 버전 노출이 정보 누출(information disclosure)입니다. `Server: Apache/2.4.49` 같은 값은 공격자가 알려진 취약점(CVE)을 곧바로 겨냥하게 돕습니다. 따라서 실무에서는 버전을 숨겨 `Server: nginx`처럼 제품명만 남기거나(예: nginx `server_tokens off;`, Apache `ServerTokens Prod`), 헤더 자체를 제거·위장하는 것을 권장합니다.

리버스 프록시·CDN 뒤에서는 Server 값이 원 서버가 아니라 프록시(cloudflare 등)의 것으로 대체되는 경우가 많습니다. 경로상의 중간 노드는 자신을 Via 헤더로 밝히는 반면, Server는 응답을 최종 생성한 소프트웨어를 가리킨다는 점에서 역할이 다릅니다.

문법

Server: <product>[/<version>] [<comment>] ...

e.g. Server: nginx

실무 참고

관련 헤더

User-AgentViaX-Powered-ByDate

스펙 근거