Apache는 대략적으로 사용되는 웹 서버의 무료 오픈 소스 소프트웨어입니다. 웹사이트의 40% 전 세계. Apache HTTP Server는 공식 이름입니다. 이는 다음과 같은 기관에서 개발하고 유지 관리합니다. 아파치 소프트웨어 재단 . Apache는 웹사이트 소유자가 웹을 통해 콘텐츠를 제공하도록 허용합니다. '라고 알려진 이유다. 웹 서버 .' Apache 웹 서버의 가장 안정적이고 오래된 버전 중 하나가 1995년에 출시되었습니다.
누군가 웹사이트를 방문하고 싶다면 브라우저 주소 표시줄에 도메인 이름을 입력합니다. 웹 서버가 가상 배송사 역할을 하여 요청된 파일을 가져옵니다.
웹 서버 의미
메일 서버, 데이터베이스 서버, 웹 서버, 그리고 파일 서버 다양한 유형의 서버 소프트웨어를 사용하십시오. 이러한 모든 애플리케이션은 물리적 서버에 저장된 많은 파일에 액세스하여 다양한 목적에 적용할 수 있습니다.
웹 서버의 목적은 인터넷을 통해 웹사이트를 제공하는 것입니다. 해당 목표를 달성하기 위해 클라이언트 시스템과 서버 사이에서 중개자 역할을 합니다. 모든 사용자 요청에 대해 서버를 통해 콘텐츠를 가져올 수 있습니다. 또한 이 요청을 웹에 전달합니다.
부분 파생 라텍스
웹 서버의 가장 중요한 작업 중 하나는 웹의 다양한 사용자에게 동시에 서비스를 제공하는 것입니다. 웹 서버는 다음과 같은 다른 유형의 프로그래밍 언어로 지정된 파일을 실행합니다. 자바 , 파이썬 , PHP , 그리고 많은 다른 사람들. 웹 서버는 이러한 파일을 정적 HTML 파일로 변환합니다. 웹 서버 브라우저 내에서 이러한 파일에 대한 서비스를 제공합니다. 웹 브라우저는 적절한 클라이언트-서버 통신을 담당하는 도구로 정의될 수 있습니다.
아파치 작업
Apache는 물리적 서버가 아닙니다. 서버에서 실행되는 소프트웨어입니다. 그러나 우리는 이를 웹 서버로 정의합니다. 그 목적은 웹 사이트 방문자 브라우저(Safari, Google Chrome, Firefox 등)와 서버 간의 연결을 구축하는 것입니다. Apache는 크로스 플랫폼 소프트웨어로 정의될 수 있으므로 Windows 서버 및 UNIX에서 작동할 수 있습니다.
방문자가 당사 웹사이트, 홈페이지, '회사 소개' 페이지 등의 페이지를 로드하려고 하면 방문자의 브라우저가 당사 서버에 요청을 보냅니다. Apache는 요청된 각 파일(이미지, 파일 등)과 함께 응답을 반환합니다. 클라이언트와 서버는 HTTP 프로토콜로 통신하며 Apache는 두 시스템 간의 안전하고 원활한 통신을 담당합니다.
Apache는 고도의 소프트웨어입니다. 맞춤형 . 여기에는 모듈 기반 구조가 포함되어 있습니다. 다양한 모듈을 통해 서버 관리자는 추가 기능을 끄거나 켤 수 있습니다. Apache에는 캐싱, 보안, 비밀번호 인증, URL 재작성 및 기타 목적을 위한 모듈이 포함되어 있습니다. 또한 다음과 같은 파일을 사용하여 자체 서버 구성을 설정할 수 있습니다. .htaccess . 지원되는 Apache 구성 파일입니다.
프레디 머큐리
다른 웹 서버와 Apache
Apache와는 다른 웹 서버가 너무 많습니다. 웹 서버의 모든 애플리케이션은 다양한 유형의 목적을 위해 구축되었습니다. Apache에는 몇 가지 경쟁자와 대안이 있으며 대부분 소프트웨어로 사용됩니다.
아파치 대 NGINX
Nginx는 다음과 같이 발음됩니다. 엔진-X . Nginx는 웹 서버의 새로운 애플리케이션으로 2004년에 처음 출시되었습니다. Nginx는 웹 사이트 소유자들 사이에서 인기를 얻었습니다. 이는 사용자의 다양한 요청을 관리하기 위해 스레드를 사용하는 웹 서버가 한 번에 10000개 이상의 연결을 처리할 수 없음을 의미하는 c10k 문제를 해결하기 위해 개발되었습니다.
- Apache는 스레드 기반 구조를 사용하기 때문에 트래픽이 많은 웹사이트의 소유자는 성능 문제에 직면할 수 있습니다. Nginx는 아마도 가장 운이 좋은 문제 중 하나인 c10k 문제를 정의합니다.
- Nginx에는 이벤트 중심 아키텍처가 포함되어 있습니다. 모든 요청에 대해 최신 프로세스를 구축하지 않습니다. 대신 개별 스레드에서 들어오는 모든 요청을 관리합니다. 이 프로세스는 요청의 실제 처리를 구현하는 다양한 작업자 프로세스를 처리합니다. Nginx의 이벤트 기반 모델은 쉽고 효율적인 방식으로 작업자 기술 간에 사용자 요청을 공유하므로 더 나은 확장성을 제공합니다.
- Nginx는 최소한의 리소스를 사용하여 트래픽이 많은 웹사이트를 관리할 수 있기 때문에 더 나은 선택이 될 수 있습니다. 보다 구체적으로 말하면 Airbnb, Pinterest, Hulu 및 Netflix와 같은 가시성이 높은 여러 웹사이트에서 사용할 수 있습니다.
- 그러나 Apache는 쉬운 구성, 초보자에게 친숙한 환경, 중소 규모 플레이어를 위한 다양한 모듈을 갖추고 있기 때문에 Nginx에 많은 이점을 제공합니다.
아파치 대 톰캣
수코양이 cab는 웹 서버로 정의되며 Apache Software Foundation에 의해 개선되었습니다. 따라서 Apache Tomcat이 공식 명칭입니다. Tomcat은 HTTP 서버이기도 합니다. 그러나 정적 웹사이트보다는 Java 애플리케이션을 향상시킵니다. 이 웹 서버는 WebSocket, Java EL, JSP (JavaServer 페이지) 및 자바 서블릿 .
Excel에서 첫 번째 문자를 제거하는 방법
- 특히 Tomcat은 Java 애플리케이션용으로 만들어진 반면 Apache는 HTTP 서버로 만들어졌습니다. 적절한 Apache 모듈(mod_perl, mod_python, mod_php 등)의 지원을 통해 별도의 프로그래밍 언어(Perl, Python, PHP 등)로 Apache를 적용할 수 있습니다.
- 웹 페이지 제공(정적)을 위해 Tomcat 웹 서버를 적용할 수 있지만 Apache 서버와 비교할 때 이 목적에는 덜 효과적입니다. Tomcat은 대부분의 웹사이트에서 필요하지 않은 Java VM 및 기타 Java 라이브러리를 미리 로드할 수 있습니다.
- 또한 Tomcat은 다른 유형의 웹 서버에 비해 구성이 적습니다. 가장 좋은 옵션은 WordPress를 실행하기 위한 NGINX 또는 Apache와 같은 HTTP 서버입니다.
아파치의 장점과 단점
Apache는 다양하고 안정적인 플랫폼에서 웹사이트를 실행하는 데 탁월한 옵션이 될 수 있습니다. 하지만 우리가 이해해야 할 몇 가지 단점이 있습니다.
장점:
- 안정적이고 신뢰할 수 있는 소프트웨어.
- 경제적 사용을 위한 무료 오픈 소스입니다.
- 정기적인 보안 패치가 자주 업데이트됩니다.
- 초보자 친화적이고 구성이 쉽습니다.
- 모듈 기반 구조로 인해 유연합니다.
- WordPress 사이트와 함께 즉시 작동합니다.
- 크로스 플랫폼(Windows 서버 및 Unix에서 구현).
- 어떤 문제가 발생하더라도 쉽게 사용할 수 있는 지원과 대규모 커뮤니티.
단점:
- 트래픽이 매우 많은 웹사이트에서 다양한 성능 문제가 발생합니다.
- 여러 구성 옵션으로 인해 보안이 취약해질 수 있습니다.
아파치 버전
버전 1.1
이 버전의 Apache는 2000년에 ASF에 의해 승인되었습니다. 주요 변경 사항은 라이선스 1.0의 '광고 조항'에 있습니다. '광고 조항' 파생 제품은 더 이상 광고 자료의 측면을 포함할 필요가 없습니다(문서에만 해당).
Java의 간단한 날짜 포맷터
버전 2.0
ASF는 2004년 1월 아파치 버전 2.0을 채택했습니다. 명시된 목표에는 ASF가 아닌 일부 프로젝트에 쉽게 적용할 수 있는 라이선스를 만드는 것이 포함되었습니다. GPL 기반 소프트웨어와의 호환성을 향상시킬 수 있습니다. 이를 통해 라이센스를 모든 파일에 나열하는 대신 참조로 추가할 수 있습니다. 또한 기여에 대한 라이선스를 명확히 합니다. 반드시 기여의 특허를 침해하는 기여에 대한 특허 라이센스가 필요합니다.
아파치의 보안
다른 웹 서버와 마찬가지로 Apache도 악용 및 해킹될 수 있습니다. Apache의 주요 공격 도구는 Slowloris입니다. Slowloris는 Apache 소프트웨어 내의 버그를 이용할 수 있습니다. 여러 개의 소켓을 구축하고 이러한 모든 소켓을 활성 상태로 유지하고 다양한 바이트('활성 유지 헤더'라고 함)를 보내 시스템이 연결되어 있고 네트워크 문제가 없음을 서버에 알립니다.
많은 Apache 개발자는 발생한 피해를 제한하기 위해 여러 모듈을 사용하여 Slowloris를 정의했습니다. 다음과 같은 Apache의 다양한 모듈 mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, 그리고 mod_limitipconn 슬로로리스의 성공적인 공격 가능성을 줄이기 위해 각각 제안되었습니다. Apache는 Apache 2.2.15 이후 개발자가 홍보한 실행 솔루션으로 mod_reqtimeout 모듈을 제공합니다.
아파치의 개발
Apache HTTP 서버 버전
최신 릴리스 | 초판 | 버전 |
---|---|---|
2010년 3월 2일(1.2.42) | 1998년 6월 6일 | 1.3 |
2013년 7월 10일 (2.0.65) | 2002년 4월 6일 | 2.0 |
2017년 7월 11일(2.2.34) | 2005년 1월 12일 | 2.2 |
2020-08-07(2.4.46) | 2012년 2월 21일 | 2.4 |
Apache 프로젝트는 상용 등급의 강력하고 무료로 사용할 수 있으며 기능이 풍부한 소스 코드 HTTP 서버 구현을 목표로 하는 집단적인 소프트웨어 개선 노력입니다. 이 프로젝트는 곳곳에 배치된 자원봉사자 팀에 의해 공동으로 처리되었습니다. 이는 웹과 인터넷을 사용하여 서버 및 관련 문서를 개발, 전달 및 계획함으로써 수행될 수 있습니다.
이 프로젝트는 Apache Software Foundation의 일부입니다. 많은 사용자가 자신의 코드, 문서 및 아이디어를 프로젝트에 공유했습니다.
Apache 2.4 버전은 Tandem, NeXT, UX/A, TPF 및 BeOS 플랫폼을 지원합니다.