웹 서버
웹 서버는 브라우저 등의 요청을 받아 HTTP 응답으로 문서·파일·API 결과를 제공하는 소프트웨어 또는 이를 실행하는 컴퓨터를 뜻한다.
1. 개요
웹 서버는 클라이언트가 보낸 HTTP 요청을 받아 알맞은 응답을 돌려주는 시스템이다. 문맥에 따라 Nginx·Apache HTTP Server 같은 소프트웨어를 가리키거나 그 소프트웨어가 실행되는 컴퓨터 전체를 뜻한다. 정적 파일을 그대로 전달할 수도 있고 응용 서버와 데이터베이스가 만든 결과를 중계할 수도 있다.
2. 주요 구성
| 구분 | 설명 |
|---|---|
| 연결 처리 | HTTPS 연결과 요청 메시지를 받아 경로·메서드·헤더를 해석한다. |
| 자원 제공 | HTML·이미지·파일을 읽거나 응용 프로그램에 처리를 맡긴다. |
| 응답 | 상태 코드·헤더·본문을 클라이언트에 반환한다. |
| 운영 | 로그·캐시·압축·접근 제어·부하 분산으로 안정성을 관리한다. |
3. 작동 방식
서버는 80번 또는 443번 포트 등에서 연결을 기다린다. 요청이 도착하면 호스트와 경로를 기준으로 설정을 선택하고 권한을 확인한다. 자원이 있으면 200 응답을, 없으면 보통 404 응답을 보낸다. 처리 중 오류가 나면 5xx 상태가 사용된다. HTTPS에서는 인증서와 암호화 통신 절차가 더해진다.
4. 형성과 발전
최초의 웹 서버는 팀 버너스리가 CERN에서 만든 httpd였다. 웹 이용이 늘면서 여러 요청을 효율적으로 처리하는 서버와 역방향 프록시, 콘텐츠 전송 네트워크가 발전했다. 현재는 한 대의 서버보다 여러 지역의 데이터센터와 클라우드 자원을 함께 사용하는 구성이 흔하다.
5. 활용과 확인할 점
운영자는 보안 업데이트, 인증서 만료, 백업, 접근 로그와 장애 알림을 관리해야 한다. 관리자 화면과 비밀 키를 공개 경로에 두지 않고 최소 권한을 적용한다. 캐시는 속도를 높이지만 오래된 개인정보나 수정 전 문서를 잘못 노출하지 않도록 자원별 정책을 구분해야 한다.
문서를 읽거나 작성할 때에는 용어의 정의와 실제 서비스의 정책을 구분해야 한다. 기술 표준은 개정될 수 있고 제품의 동작도 버전에 따라 달라질 수 있으므로, 날짜가 중요한 내용은 최신 공식 문서를 함께 확인한다. 사례를 인용할 때에는 홍보 문구를 사실처럼 옮기지 않고 확인 가능한 범위와 한계를 밝혀야 한다.