아파치에 대하여
아파치(Apache)는 아파치 소프트웨오 재단에서 만드는 웹서버 프로그램이다. 아파치는 유닉스 기반으로 만들어져 있으며 따라서 리눅스 기반의 OS대부분의 OS에서 아파치를 지원한다.
또한 아파치는 비교적 구축이 쉽다는 장점과 오픈 소스이기 때문에 무료로 활용할 수 있어 대부분의 중소기업이 아파치를 활용하고 있다.
아파치는 고성능의 HTTP 서버이며, 정식 이름은 아파치 HTTP 서버(Apache HTTP Server)지만 아파치 서버로 많이 알려져 있다.
안정성과 확장성, 호환성이 매우좋고, 개선된 패치파일을 꾸준하게 제공하고 있기 때문에 웹 서버용 소프트웨어로 전 세계에서 가장 높은 점유율을 가지고 있다.
아파치의 특징
- 아파치 웹서버는 무료 오픈소스이다.
- 확장성, 호환성, 이식성, 안정성이 높아서 웹 서버에서 많이 사용한다.
- 모듈이라는 개념으로 수많은 기능을 덧붙일 수 있다. (모듈을 통해 다른 프로그램과의 연동도 가능하다.)
- APM(Apache+PHP+MySQL)이 웹 서버를 돌리기 위한 기본 조합으로 여겨진다.
- 근래에는 경량화 서버인 nginx의 부상으로 점유율이 점차 낮아지고 있다.
아파치의 구조
아파치는 MPM(Multi Processing Module) 구조를 기반으로 클라이언트 요청 처리 방법을 처리하는 기술 기반을 가지고 있다.
MPM는 "mpm_prefork", "mpm_worker", "mpm_even" 구조를 근간으로 하고 있다.
- mpm_prefork는 단일 스레드 로직에서 동작하며 각 서버 프로세스는 한 번에 하나의 웹 요청(Web Request)을 처리 한다.
- 이러한 방식은 PHP 환경에서 권장되는 방식이다.
- mpm_worker는 동시에 여러 스레드를 지원한다.
- 이것은 아파치가 좀 더 효율적이고 확장 가능하도록 돕는다.
- mpm_event는 mpm_worker와 유사한 방식으로 동작하지만 최근 등장한 웹 관련 애플리케이션을 위한 keep alive 메커니즘이 포함되어 있다.
- 이러한 방식은 커넥션마다 새로운 스레드가 필요하다는 관점에서 커넥션이 대규모로 많아질 때 성능 측면에서 많은 이슈가 발생할 수 있다.
- 이러한 방식은 커넥션마다 새로운 스레드가 필요하다는 관점에서 커넥션이 대규모로 많아질 때 성능 측면에서 많은 이슈가 발생할 수 있다.
'CS > Network' 카테고리의 다른 글
[ HTTP ] HTTP 콘텐츠 협상이란 무엇일까? (0) | 2023.07.12 |
---|---|
[ HTTP ] 리다이렉션(REDIRECTION)이란 무엇일까?! (0) | 2023.07.04 |
[ HTTP ] HTTP 상태코드 들을 알아보자 (0) | 2023.07.04 |
[ HTTPS ] HTTPS란 무엇일까? (0) | 2022.11.17 |
[네트워크] REST API(Representational State Transfer)의 이해 (1) | 2022.10.04 |
아파치에 대하여
아파치(Apache)는 아파치 소프트웨오 재단에서 만드는 웹서버 프로그램이다. 아파치는 유닉스 기반으로 만들어져 있으며 따라서 리눅스 기반의 OS대부분의 OS에서 아파치를 지원한다.
또한 아파치는 비교적 구축이 쉽다는 장점과 오픈 소스이기 때문에 무료로 활용할 수 있어 대부분의 중소기업이 아파치를 활용하고 있다.
아파치는 고성능의 HTTP 서버이며, 정식 이름은 아파치 HTTP 서버(Apache HTTP Server)지만 아파치 서버로 많이 알려져 있다.
안정성과 확장성, 호환성이 매우좋고, 개선된 패치파일을 꾸준하게 제공하고 있기 때문에 웹 서버용 소프트웨어로 전 세계에서 가장 높은 점유율을 가지고 있다.
아파치의 특징
- 아파치 웹서버는 무료 오픈소스이다.
- 확장성, 호환성, 이식성, 안정성이 높아서 웹 서버에서 많이 사용한다.
- 모듈이라는 개념으로 수많은 기능을 덧붙일 수 있다. (모듈을 통해 다른 프로그램과의 연동도 가능하다.)
- APM(Apache+PHP+MySQL)이 웹 서버를 돌리기 위한 기본 조합으로 여겨진다.
- 근래에는 경량화 서버인 nginx의 부상으로 점유율이 점차 낮아지고 있다.
아파치의 구조
아파치는 MPM(Multi Processing Module) 구조를 기반으로 클라이언트 요청 처리 방법을 처리하는 기술 기반을 가지고 있다.
MPM는 "mpm_prefork", "mpm_worker", "mpm_even" 구조를 근간으로 하고 있다.
- mpm_prefork는 단일 스레드 로직에서 동작하며 각 서버 프로세스는 한 번에 하나의 웹 요청(Web Request)을 처리 한다.
- 이러한 방식은 PHP 환경에서 권장되는 방식이다.
- mpm_worker는 동시에 여러 스레드를 지원한다.
- 이것은 아파치가 좀 더 효율적이고 확장 가능하도록 돕는다.
- mpm_event는 mpm_worker와 유사한 방식으로 동작하지만 최근 등장한 웹 관련 애플리케이션을 위한 keep alive 메커니즘이 포함되어 있다.
- 이러한 방식은 커넥션마다 새로운 스레드가 필요하다는 관점에서 커넥션이 대규모로 많아질 때 성능 측면에서 많은 이슈가 발생할 수 있다.
- 이러한 방식은 커넥션마다 새로운 스레드가 필요하다는 관점에서 커넥션이 대규모로 많아질 때 성능 측면에서 많은 이슈가 발생할 수 있다.
'CS > Network' 카테고리의 다른 글
[ HTTP ] HTTP 콘텐츠 협상이란 무엇일까? (0) | 2023.07.12 |
---|---|
[ HTTP ] 리다이렉션(REDIRECTION)이란 무엇일까?! (0) | 2023.07.04 |
[ HTTP ] HTTP 상태코드 들을 알아보자 (0) | 2023.07.04 |
[ HTTPS ] HTTPS란 무엇일까? (0) | 2022.11.17 |
[네트워크] REST API(Representational State Transfer)의 이해 (1) | 2022.10.04 |