Apache 웹 서버는 어떻게 작동합니까?

인터넷은 사용자가 컴퓨터에서 액세스 할 수있는 웹 페이지를 호스팅하는 웹 서버 모음으로 존재합니다. 이러한 서버는 사용자 요청을 처리하기 위해 서버 소프트웨어를 실행해야합니다. 이러한 소프트웨어 패키지 중 하나 인 Apache 웹 서버는 개발자가 웹 페이지를 호스팅 할 수있는 무료 서버 솔루션을 제공합니다. 따라서 웹 사이트 호스팅을위한 인기 프로그램이되었습니다. Apache 서버는 멀티 스레딩 방식으로 특정 통신 프로토콜을 통해 서버에 대한 URL 요청을 처리하고 프로그래밍 및 데이터베이스 언어로 작업하도록 확장하여 작동합니다.

URL 및 HTTP 프로토콜

Apache는 웹 서버 소프트웨어이므로 주로 Universal Resource Locator 주소 요청을 통해 Hypertext Transfer Protocol 요청을 처리합니다. URL은 사용자가 웹 페이지를 찾기 위해 웹 브라우저에 입력하는 웹 사이트의 이름입니다. 사용자가 URL을 입력하면 브라우저는 일반적으로 포트 80에서 Apache를 실행하는 서버 컴퓨터에 HTTP 요청을 보냅니다. HTTP 프로토콜은 웹 페이지에 대한 인터넷 표준 데이터 전송 프로토콜이므로 사용자가 Apache에 URL을 요청할 때 서버에서 Apache 서버는 HTTP 요청을 처리하고 요청 된 웹 페이지를 반환합니다.

멀티 태스킹 / 멀티 스레딩

Apache 서버는 한 번에 수많은 HTTP 요청을 처리합니다. 이를 위해 서버는 여러 "스레드"실행에서 실행되어야합니다. 스레드는 특정 작업을 수행하기 위해 주 프로그램에서 분기되고 동시에 실행되는 프로그램의 일부입니다. Apache 서버는 요청 된 웹 페이지를 가져오고 반환하는 각 HTTP 요청에 대해 새 스레드를 생성합니다. 이를 통해 Apache는 동시에 여러 사용자에게 웹 페이지를 제공 할 수 있습니다.

프로그램 및 파일 제공

웹 페이지와 함께 Apache 서버는 사용자가 컴퓨터에 파일을 다운로드하도록 허용 할 수 있으며, Apache도 HTTP를 통해 처리합니다. 여기에는 오디오 파일, 동영상 파일 또는 Word 문서 또는 PDF와 같은 특정 문서가 포함됩니다. 사용자가 PHP, Python 또는 Perl과 같은 스크립팅 언어에 대한 프로그램 파일을 요청하면 Apache 서버는 프로그램을 실행하고 HTTP를 통해 프로그램의 출력을 사용자에게 보냅니다. 그러나 스크립팅 언어가 포함 된 문서에 대한 요청을 처리하려면 Apache 서버에 해당 언어에 적합한 모듈이 설치되어 있어야합니다.

Apache 패키지

Apache 서버는 더 큰 웹 서비스 프로그램의 일부로 독립 실행 형 패키지로 제공되며 성능을 향상시키는 모듈로 완성됩니다. Apache 서버의 인기있는 구현은 "LAMP"(Linux, Apache, MySQL 및 PHP / Perl / Python) 스택입니다. 이 구성은 블로그와 같은 업데이트 된 웹 사이트에 데이터베이스 콘텐츠를 제공하기 위해 MySQL 데이터베이스 및 PHP와 같은 스크립팅 언어로 웹 서비스 기능을 갖춘 Apache 서버를 패키징합니다.