HTTP 가속기
1. 개요
1. 개요
HTTP 가속기는 웹 서버의 성능을 향상시키기 위해 HTTP 트래픽을 최적화하는 소프트웨어 또는 하드웨어 장치이다. 주된 목적은 웹 페이지 로딩 속도를 높이고, 대역폭 사용량을 줄이며, 서버 부하를 분산시키는 것이다.
이 장치는 일반적으로 클라이언트와 원본 서버 사이에 배치되어 트래픽을 중개한다. 주요 기능으로는 자주 요청되는 콘텐츠를 저장하는 캐싱, 데이터를 압축하여 전송 크기를 줄이는 압축, 여러 요청을 효율적으로 처리하기 위한 연결 다중화, 그리고 암호화 연산을 대신 수행하는 SSL/TLS 오프로딩 등이 포함된다.
HTTP 가속기는 웹 성능 최적화, 콘텐츠 전송 네트워크, 로드 밸런싱 분야와 밀접한 관련이 있다. 이를 통해 최종 사용자에게는 더 빠른 웹 경험을 제공하고, 서비스 운영자에게는 인프라 비용 절감과 효율적인 자원 관리라는 이점을 준다.
2. 작동 원리
2. 작동 원리
HTTP 가속기는 클라이언트와 원본 서버 사이에 위치하여, 양측 간의 HTTP 트래픽을 가로채고 최적화하는 방식으로 작동한다. 사용자의 웹 브라우저가 웹 페이지나 파일을 요청하면, 그 요청은 먼저 가속기로 전달된다. 가속기는 이 요청을 분석하여, 자신의 캐시에 저장된 정적 콘텐츠(예: 이미지, CSS, JavaScript 파일)를 즉시 응답할지, 아니면 원본 서버에 전달해야 할지를 판단한다. 이를 통해 사용자에게는 콘텐츠 전송 지연이 줄어들고, 원본 서버에는 불필요한 요청 부하가 감소하는 효과가 발생한다.
가속기의 핵심 작동 메커니즘은 효율적인 캐싱 전략에 기반한다. 자주 요청되는 정적 자원은 가속기의 로컬 저장소나 에지 서버에 저장해 두었다가 동일한 요청이 들어올 때 원본 서버를 거치지 않고 바로 제공한다. 또한, 동적 콘텐츠의 경우에도 리버스 프록시 역할을 수행하여 클라이언트와 서버 간의 TCP 연결을 최적화한다. 예를 들어, 여러 개의 작은 HTTP 요청을 하나의 지속적인 연결로 다중화하거나, 서버로부터의 응답 데이터를 압축하여 전송 크기를 줄이는 방식으로 성능을 향상시킨다.
또한, 보안 통신 처리의 부담을 서버에서 떼어내는 SSL/TLS 오프로딩 기능도 중요한 작동 원리이다. 클라이언트와는 암호화된 HTTPS 연결을 유지하면서, 가속기 내부에서 복호화를 수행한 후 원본 서버로는 일반 HTTP 요청을 전송할 수 있다. 이는 원본 서버의 CPU 자원을 크게 절약하고, 암호화 핸드셰이크로 인한 지연을 최소화한다. 이러한 일련의 최적화 과정을 통해 최종 사용자의 페이지 로드 시간은 단축되고, 웹 사이트나 애플리케이션의 전반적인 응답성과 안정성이 높아진다.
3. 주요 유형
3. 주요 유형
3.1. CDN (콘텐츠 전송 네트워크)
3.1. CDN (콘텐츠 전송 네트워크)
CDN은 콘텐츠 전송 네트워크의 약자로, 지리적으로 분산된 서버 네트워크를 구축하여 웹 콘텐츠를 사용자에게 더 빠르고 효율적으로 전달하는 기술이다. 이는 HTTP 가속기의 가장 대표적인 유형 중 하나로, 사용자와 원본 서버 사이에 위치하여 정적 콘텐츠는 물론 동적 콘텐츠의 전송 속도도 개선한다. 기본 원리는 사용자의 지리적 위치에 가장 가까운 에지 서버에서 콘텐츠를 제공함으로써 네트워크 지연 시간을 최소화하는 것이다.
CDN의 핵심 작동 방식은 캐싱에 기반한다. 이미지, CSS, 자바스크립트 파일과 같은 정적 자원들을 전 세계의 에지 서버에 저장해 두고, 사용자가 웹사이트를 요청하면 원본 서버 대신 가장 가까운 에지 서버에서 해당 자원을 즉시 제공한다. 이를 통해 대역폭 사용량을 줄이고, 원본 서버의 부하를 분산시키며, 최종 사용자 경험을 크게 향상시킨다.
또한 현대의 CDN은 단순한 정적 파일 캐시를 넘어 다양한 웹 가속 기능을 통합한다. 대표적으로 SSL/TLS 오프로딩을 통해 암호화 및 복호화 작업을 에지에서 처리하여 원본 서버의 부담을 덜어주고, Gzip과 같은 프로토콜을 이용한 콘텐츠 압축으로 전송 데이터의 크기를 줄인다. 더 나아가 HTTP/2나 QUIC 같은 최신 프로토콜을 지원하여 연결 다중화 등을 통해 전송 효율을 극대화하기도 한다.
이러한 기술들은 웹 성능 최적화와 사용자 경험 개선에 직접적으로 기여하며, 전 세계적으로 트래픽이 많은 웹사이트나 미디어 스트리밍 서비스의 필수 인프라가 되었다. 결과적으로 CDN은 인터넷의 전반적인 콘텐츠 전송 효율성을 높이는 데 중요한 역할을 한다.
3.2. 리버스 프록시 캐시
3.2. 리버스 프록시 캐시
리버스 프록시 캐시는 클라이언트와 원본 서버 사이에 위치하여, 서버로 향하는 HTTP 트래픽을 가로채고 최적화하는 소프트웨어 또는 하드웨어 장치이다. 이는 웹 서버의 성능을 직접적으로 향상시키는 데 주된 목적이 있으며, 웹 페이지 로딩 속도를 높이고 서버의 부하를 줄이는 역할을 한다. CDN이 지리적으로 분산된 캐시 서버를 통해 콘텐츠를 전달하는 데 초점을 맞춘다면, 리버스 프록시 캐시는 주로 단일 또는 소수의 데이터 센터 내에서 특정 웹 서버나 애플리케이션을 보호하고 가속하는 데 사용된다.
리버스 프록시 캐시의 핵심 작동 방식은 캐싱이다. 클라이언트의 요청을 먼저 받아, 요청된 정적 콘텐츠가 자신의 캐시에 저장되어 있다면 원본 서버에 접근하지 않고 바로 응답을 반환한다. 이를 통해 원본 서버의 처리 부담과 응답 지연 시간을 크게 줄일 수 있다. 또한, 동적 콘텐츠에 대한 요청은 원본 서버로 전달하되, 연결 다중화나 압축 같은 기술을 적용하여 전송 효율을 높인다.
주요 기능으로는 콘텐츠 캐싱 외에도 Gzip과 같은 알고리즘을 이용한 압축, 여러 클라이언트 연결을 소수의 서버 연결로 묶는 연결 다중화, 그리고 SSL/TLS 암호화 및 복호화 작업을 대신 처리하는 SSL 오프로딩이 포함된다. SSL 오프로딩은 특히 암호화 통신으로 인한 서버의 CPU 부하를 덜어주는 중요한 기능이다.
이 기술은 로드 밸런싱과 결합되어 사용되는 경우가 많다. 하나의 리버스 프록시 캐시가 여러 대의 백엔드 웹 서버 앞에 배치되어 트래픽을 분산시키고, 동시에 캐싱 기능을 제공함으로써 웹 애플리케이션의 전체적인 처리량과 안정성을 높인다. 따라서 웹 성능 최적화와 서버 인프라 관리에 있어 필수적인 구성 요소로 자리 잡았다.
3.3. 웹 가속기 (Web Accelerator)
3.3. 웹 가속기 (Web Accelerator)
웹 가속기는 웹 서버의 성능을 향상시키기 위해 HTTP 트래픽을 최적화하는 소프트웨어 또는 하드웨어 장치이다. 이는 주로 클라이언트와 원본 서버 사이에 배치되어, 최종 사용자가 느끼는 웹 페이지 로딩 속도를 높이고 서버의 부하를 줄이는 데 목적이 있다. CDN이나 리버스 프록시 캐시와 같은 다른 HTTP 가속기 유형과 유사한 역할을 하지만, 종종 더 포괄적인 최적화 기능 세트를 제공하는 독립적인 솔루션으로 분류된다.
주요 기능으로는 콘텐츠 캐싱, 압축, 연결 다중화, SSL/TLS 오프로딩 등이 있다. 캐싱을 통해 자주 요청되는 정적 콘텐츠를 로컬에 저장하여 원본 서버까지의 왕복 시간을 줄이고, Gzip과 같은 알고리즘을 사용한 압축은 전송해야 할 데이터의 크기를 줄여 대역폭 사용량을 감소시킨다. 또한, 여러 개의 HTTP 연결을 효율적으로 관리하거나 병합하여 연결 수를 최소화하는 연결 최적화 기술을 적용한다.
이러한 기술들의 조합은 웹 사이트의 전반적인 응답성을 크게 향상시킨다. 사용자는 페이지가 더 빠르게 로드되는 경험을 하게 되며, 웹 사이트 운영자 측면에서는 서버 하드웨어 자원에 대한 요구가 줄어들고 네트워크 트래픽 비용을 절감할 수 있다. 따라서 웹 가속기는 전자상거래 사이트나 미디어 스트리밍 서비스와 같이 높은 트래픽과 빠른 응답 속도가 필수인 환경에서 널리 활용된다.
웹 가속기는 로드 밸런싱 및 웹 애플리케이션 방화벽과 같은 보안 기능과 통합되어 제공되기도 한다. 이는 웹 성능 최적화와 보안을 동시에 관리할 수 있는 통합 플랫폼의 필요성이 증가함에 따른 자연스러운 발전이다.
4. 주요 기능
4. 주요 기능
4.1. 캐싱
4.1. 캐싱
캐싱은 HTTP 가속기의 핵심 기능으로, 사용자가 자주 요청하는 정적 콘텐츠를 임시로 저장해 두는 과정이다. 웹 서버에서 직접 매번 동일한 파일을 생성하거나 전송하는 대신, 가속기가 미리 저장해 둔 사본을 제공함으로써 응답 시간을 극적으로 단축한다. 이는 HTML, CSS, 자바스크립트, 이미지, 동영상 파일 등 변경 빈도가 낮은 콘텐츠에 특히 효과적이다.
캐싱의 작동은 HTTP 헤더에 정의된 캐시 정책에 따라 이루어진다. 가속기는 원본 서버가 응답과 함께 보내는 Cache-Control이나 Expires 같은 지시자를 해석하여, 특정 콘텐츠를 얼마나 오래 저장할지(TTL, Time To Live) 결정한다. 또한, 조건부 요청을 통해 저장된 사본이 여전히 유효한지 원본 서버에 확인하는 과정을 거쳐 데이터의 신선도를 유지한다.
이 기술을 적용함으로써 얻는 주요 이점은 명확하다. 최종 사용자에게는 웹 페이지 로딩 속도가 빨라지고, 원본 서버로 가는 트래픽과 처리 부하가 크게 줄어든다. 결과적으로 서버 하드웨어 자원과 네트워크 대역폭 사용량이 절감되어 운영 비용을 낮추는 효과도 있다. 콘텐츠 전송 네트워크는 전 세계에 분산된 캐시 서버 노드를 활용해 이 원리를 극대화하는 대표적인 사례이다.
캐싱을 효과적으로 구성하기 위해서는 콘텐츠의 특성에 맞는 TTL 전략이 필요하다. 자주 변경되지 않는 정적 자원은 긴 캐시 유지 시간을, 실시간 정보나 개인화된 데이터는 매우 짧은 시간만 캐시하거나 아예 캐싱을 배제해야 한다. 또한, 콘텐츠가 업데이트되었을 때 캐시 무효화를 신속하게 수행할 수 있는 메커니즘을 마련하는 것도 중요하다.
4.2. 압축
4.2. 압축
압축은 HTTP 가속기의 핵심 기능 중 하나로, 클라이언트와 서버 간에 전송되는 데이터의 크기를 줄여 대역폭 사용량을 절감하고 콘텐츠 전송 속도를 높인다. 이는 주로 텍스트 기반의 웹 페이지 리소스, 즉 HTML, CSS, 자바스크립트 파일 및 기타 텍스트 데이터에 적용된다. 가속기는 이러한 리소스를 원본 서버로부터 받거나 캐싱된 상태에서 압축하여 클라이언트에 전송하며, 클라이언트의 웹 브라우저는 이를 수신한 후 자동으로 압축을 해제하여 렌더링한다.
가장 널리 사용되는 압축 알고리즘은 Gzip과 Deflate이며, 최근에는 더 높은 압축률을 제공하는 Brotli가 점차 보편화되고 있다. 가속기는 클라이언트의 HTTP 요청 헤더에 포함된 Accept-Encoding 정보를 확인하여 해당 클라이언트가 지원하는 압축 방식을 파악하고, 그에 맞는 형식으로 응답을 압축한다. 이를 통해 동일한 콘텐츠를 더 적은 데이터 패킷으로 전송할 수 있어, 특히 모바일 네트워크 환경이나 해외 사용자에게 지연 시간을 단축하는 데 효과적이다.
압축 기능은 콘텐츠 전송 네트워크나 리버스 프록시 형태의 가속기에 통합되어 운영되는 경우가 많다. 이는 원본 서버의 CPU 자원을 소모하는 압축 작업을 가속기로 오프로드함으로써 서버의 부하를 추가로 줄이는 이점도 제공한다. 결과적으로 압축은 웹 성능 최적화를 위한 필수적인 기술로 자리 잡았으며, 사용자 경험 향상과 함께 데이터 센터의 운영 효율성 개선에도 기여한다.
4.3. 연결 최적화
4.3. 연결 최적화
연결 최적화는 HTTP 가속기가 클라이언트와 원본 서버 사이의 통신 효율을 높이기 위해 수행하는 핵심 기능이다. 이 과정은 기본적인 HTTP 프로토콜의 동작 방식을 개선하여 지연 시간을 줄이고 처리량을 증가시킨다. 주요 기법으로는 연결 다중화와 지속 연결 관리가 있다. HTTP 가속기는 여러 클라이언트의 요청을 받아 하나의 효율적인 지속 연결 풀을 통해 원본 서버에 전달함으로써, 서버 측에서 매번 새로운 TCP 연결을 수립하는 데 드는 오버헤드를 크게 줄인다.
또한, 패킷 손실과 네트워크 지연에 대응하기 위한 TCP 튜닝을 적용한다. 이를 통해 TCP 윈도우 크기를 조정하거나, 빠른 재전송 알고리즘을 사용하는 등 전송 제어 프로토콜의 매개변수를 최적화한다. 이는 특히 지리적으로 멀리 떨어진 사용자에게 콘텐츠를 전달할 때나 네트워크 품질이 낮은 환경에서 웹 페이지 로딩 속도를 현저히 향상시킨다. 이러한 최적화는 콘텐츠 전송 네트워크의 글로벌 인프라에서 두드러지게 활용된다.
연결 최적화의 또 다른 측면은 요청과 응답의 배치 처리다. HTTP 가속기는 여러 개의 작은 요청을 모아서 일괄 처리하거나, 서버로부터의 응답을 버퍼링하여 클라이언트에 더 효율적으로 전송할 수 있다. 이는 네트워크 왕복 횟수를 최소화하고 대역폭 사용 효율을 높이는 데 기여한다. 결과적으로 사용자는 웹 사이트와의 상호작용이 더 빠르고 반응적이라고 느끼게 되며, 서버 운영자는 동일한 하드웨어 자원으로 더 많은 트래픽을 처리할 수 있는 이점을 얻는다.
4.4. SSL/TLS 오프로딩
4.4. SSL/TLS 오프로딩
SSL/TLS 오프로딩은 HTTP 가속기가 제공하는 핵심 기능 중 하나이다. 이는 클라이언트와 가속기 사이의 암호화된 HTTPS 연결을 종료하고, 가속기와 원본 서버 사이의 연결은 일반 HTTP로 처리하거나 별도의 암호화 채널을 구성하는 방식을 말한다.
이 방식의 주요 목적은 원본 웹 서버의 부하를 줄이는 것이다. SSL/TLS 핸드셰이크와 데이터 암호화/복호화 과정은 상당한 CPU 자원을 소모하는 작업이다. 가속기가 이러한 작업을 대신 처리하면, 원본 서버는 순수한 애플리케이션 로직과 콘텐츠 제공에만 집중할 수 있어 전반적인 처리 성능이 향상된다. 또한, 가속기 단에서 SSL 인증서를 통합 관리할 수 있어 인증서 갱신 및 관리가 용이해진다.
SSL/TLS 오프로딩을 구현할 때는 보안상의 고려가 필요하다. 가속기와 원본 서버 사이의 구간이 암호화되지 않은 평문 상태로 전송될 경우, 내부 네트워크에서의 스니핑 공격에 노출될 수 있다. 이를 방지하기 위해 가속기와 웹 서버 간에도 IPsec이나 별도의 TLS 터널을 구성하는 등 보안 채널을 추가로 구축하는 것이 일반적이다.
5. 이점
5. 이점
HTTP 가속기를 도입하면 여러 가지 실질적인 이점을 얻을 수 있다. 가장 큰 이점은 최종 사용자가 체감하는 웹 페이지 로딩 속도의 현저한 향상이다. 캐싱과 압축 기능을 통해 반복적으로 요청되는 정적 콘텐츠를 사용자 근처에서 빠르게 제공하고, 전송 데이터의 크기를 줄여 다운로드 시간을 단축한다. 또한 연결 다중화와 같은 연결 최적화 기술은 TCP 연결 설정에 따른 지연을 최소화하여 전반적인 응답성을 높인다.
서버 운영 측면에서는 서버의 부하를 효과적으로 분산시켜 원본 서버의 자원 소모를 줄인다. 이는 곧 서버 하드웨어의 확장 비용 절감과 안정성 향상으로 이어진다. 특히 SSL/TLS 오프로딩 기능은 암호화 및 복호화와 관련된 고부하 연산을 가속기가 대신 처리함으로써 웹 서버가 본연의 애플리케이션 로직 처리에 집중할 수 있게 한다.
네트워크 효율성도 크게 개선된다. 중복된 콘텐츠 전송을 줄이고 데이터를 압축하여 전송함으로써 전체 대역폭 사용량을 감소시킨다. 이는 네트워크 인프라 비용을 절약하고, 특히 해외 또는 원거리 사용자에게 콘텐츠를 전송할 때 발생할 수 있는 네트워크 정체를 완화하는 데 도움이 된다.
마지막으로, 웹 애플리케이션의 가용성과 내결함성을 향상시킨다. 다수의 리버스 프록시나 CDN 노드를 통해 트래픽을 분산시키면 단일 장애점을 제거할 수 있으며, 원본 서버에 장애가 발생했을 때 캐시된 콘텐츠를 일정 기간 서비스함으로써 사용자 경험의 단절을 최소화할 수 있다. 이는 비즈니스 연속성과 사용자 만족도 측면에서 중요한 가치를 제공한다.
6. 한계 및 고려사항
6. 한계 및 고려사항
HTTP 가속기의 도입은 성능 향상을 가져오지만, 몇 가지 한계점과 운영 시 고려해야 할 사항이 존재한다. 가장 큰 한계는 캐싱으로 인한 콘텐츠의 신선도 문제이다. 동적 콘텐츠가 많거나 실시간으로 업데이트되는 웹사이트의 경우, 캐시된 오래된 데이터를 사용자에게 제공할 위험이 있다. 이를 방지하기 위해 적절한 캐시 만료 정책 설정과 원본 서버와의 효율적인 갱신 메커니즘이 필수적이다.
또한, HTTP 가속기는 시스템 아키텍처에 또 하나의 계층을 추가하는 것이므로, 이로 인한 복잡성이 증가한다. 구성 오류나 가속기 자체의 장애는 서비스 중단으로 이어질 수 있으며, 문제 발생 시 트러블슈팅의 범위가 넓어져 원인 진단이 어려워질 수 있다. 특히 리버스 프록시 형태로 동작할 경우, 클라이언트의 실제 IP 주소가 가려져 웹 서버의 로그 분석이나 보안 정책 적용에 차질이 생길 수 있다.
보안 측면에서도 고려사항이 있다. SSL/TLS 오프로딩 기능은 원본 서버의 부하를 줄여주지만, 가속기에서 암호화가 해제되는 지점이 생긴다는 의미이기도 하다. 따라서 가속기와 원본 서버 간의 통신 구간을 안전하게 보호해야 하며, 가속기 자체의 보안 강화가 매우 중요해진다. 불필요한 기능이 활성화되어 새로운 공격 표면이 될 수도 있다.
마지막으로, 모든 트래픽에 대해 무조건적인 성능 향상을 보장하지는 않는다. 이미 최적화된 서버나 정적 콘텐츠 비중이 낮은 애플리케이션의 경우 효과가 미미할 수 있으며, 특히 지리적으로 사용자와 원본 서버가 매우 가까운 상황에서는 콘텐츠 전송 네트워크의 이점이 제한적일 수 있다. 따라서 도입 전에 애플리케이션의 특성과 트래픽 패턴을 분석하여 적합한 유형의 가속기를 선택하는 것이 중요하다.
7. 관련 기술 및 도구
7. 관련 기술 및 도구
HTTP 가속기와 밀접하게 연관되거나 이를 구성하는 핵심 기술 및 소프트웨어 도구들이 존재한다. 대표적인 관련 기술로는 콘텐츠 전송 네트워크와 로드 밸런싱이 있으며, 이들은 각각 지리적 분산 캐싱과 트래픽 분배를 통해 웹 성능 최적화에 기여한다. 또한, HTTP/2 및 HTTP/3와 같은 최신 프로토콜은 멀티플렉싱 및 QUIC 프로토콜 기반의 향상된 연결 효율성을 제공하여 가속 효과를 내포한다.
주요 소프트웨어 도구로는 Nginx와 Apache HTTP Server가 널리 사용되며, 이들은 리버스 프록시 및 캐싱 기능을 내장하여 기본적인 웹 가속기 역할을 수행할 수 있다. 전용 캐싱 솔루션으로는 Varnish Cache가 있으며, 이는 메모리 기반의 고성능 캐싱에 특화되어 있다. 클라우드 컴퓨팅 플랫폼인 Amazon Web Services의 CloudFront나 Google Cloud Platform의 Cloud CDN과 같은 관리형 서비스도 널리 활용된다.
기술/도구 유형 | 대표 예시 | 주요 역할 |
|---|---|---|
웹 서버/리버스 프록시 | 요청 처리, 기본 캐싱, 로드 밸런싱 | |
전용 캐싱 소프트웨어 | 고성능 메모리 캐싱 | |
관리형 CDN 서비스 | 글로벌 캐싱 네트워크 제공 | |
로드 밸런서 | HAProxy, F5 Networks 제품 | 트래픽 분산 및 고가용성 보장 |
프로토콜 | 연결 및 전송 효율성 향상 |
이러한 기술과 도구들은 단독으로 또는 조합되어 사용되며, 대역폭 절감과 서버 부하 분산이라는 HTTP 가속기의 핵심 목표를 실현한다.
8. 여담
8. 여담
HTTP 가속기의 개념은 초기 인터넷의 성장과 함께 발전했다. 웹 트래픽이 폭발적으로 증가하면서 서버의 부하와 네트워크 지연이 주요 문제로 대두되었고, 이를 해결하기 위해 프록시 서버에 캐시 기능을 도입하는 것이 시작점이 되었다. 이후 이 기술은 콘텐츠 전송 네트워크의 등장으로 대규모 분산 인프라의 핵심 요소로 자리 잡게 되었다.
일부 웹 호스팅 서비스나 클라우드 컴퓨팅 플랫폼에서는 HTTP 가속 기능을 기본 제공하거나 쉽게 활성화할 수 있는 서비스로 제공한다. 이는 사용자가 복잡한 설정 없이도 웹사이트 성능을 개선할 수 있게 해준다. 또한, 모바일 환경에서의 데이터 사용량 절감과 페이지 로드 시간 단축은 사용자 경험에 직접적인 영향을 미치기 때문에, 프론트엔드 개발자와 사이트 신뢰성 엔지니어링 팀의 중요한 관심사가 되었다.
HTTP 가속 기술은 단순한 속도 향상을 넘어, 웹의 보안과 안정성에도 기여한다. 예를 들어, SSL/TLS 오프로딩은 암호화 연산 부하를 분산시켜 원본 서버를 보호하는 동시에, 분산 서비스 거부 공격과 같은 대규모 트래픽 공격을 완화하는 데에도 활용될 수 있다. 이처럼 현대의 웹 인프라에서 HTTP 가속기는 성능, 보안, 비용 효율성을 동시에 고려하는 필수적인 구성 요소로 자리매김했다.
