Apache와 PHP의 관계
Apache 서버와 PHP 언어를 예로 들어 동적 웹 사이트의 액세스 프로세스를 설명합니다 https://www.cnblogs.com/sunscheung/p/4643281.html
현재 웹사이트 페이지는 주로 정적 페이지와 동적 페이지로 나누어진다고 합니다. 이제 순수 정적 페이지로 구성된 웹사이트는 일반적으로 동적 웹사이트 구축 기술을 사용하며 일부 웹사이트는 정적 웹페이지와 동적 웹이 공존합니다. 페이지.
이 글에서는 Apache 서버와 PHP 언어를 예로 들어 동적 웹사이트의 액세스 프로세스를 자세히 설명합니다.
추천: "PHP Tutorial"
(1) 클라이언트가 서버 측에서 html 파일에 액세스합니다
S1: 시스템에 구성된 DNS 도메인 이름 서버 주소를 통해 DNS 서버를 찾고, 웹사이트 URL의 웹 호스트 도메인 이름 웹 서버가 위치한 Linux 운영 체제의 해당 IP 주소로 확인됩니다. (Apache는 일반적으로 Linux 운영 체제와 결합하여 사용됩니다.)
S2: HTTP 프로토콜(Hypertext Transfer Protocol)을 통해 위 IP 주소의 서버 시스템에 연결하고 기본 포트 80을 통해 Apache 서버에서 해당 응답을 요청합니다(기본 포트는 80이며 일반적으로 다른 포트가 있습니다). URL을 입력할 때 포트를 입력할 필요가 없습니다.) HTML 파일은 디렉토리(예: index.htm)에 있습니다.
S3: 아파치 서버는 사용자의 접근 요청을 받은 후, 자신이 관리하는 문서 디렉터리에서 해당 html 파일(예: index.htm)을 찾아서 열고, 해당 파일로 클라이언트 브라우저(즉, 사용자)에 응답합니다. 콘텐츠.
S4: 브라우저는 웹 서버로부터 응답을 받은 후 서버측 html 정적 코드를 수신 및 다운로드합니다. 그런 다음 브라우저는 코드를 해석하고 최종적으로 웹 페이지를 렌더링합니다(브라우저마다 코드 해석 규칙이 다르기 때문) , 따라서 동일한 웹페이지에 대해 서로 다른 브라우저에서 렌더링되는 최종 페이지 효과는 달라집니다.
(2) 클라이언트가 서버측에서 php 파일에 접근합니다.
S1: 이 단계는 위의 html 정적 웹 페이지에 접근하는 것과 동일합니다. 해당 웹 서버의 IP 주소는 DNS 서버를 통해 파싱됩니다.
S2: 위의 html 정적 페이지에 액세스하는 것과 유사하지만 최종 요청은 index.php와 같은 Apache 서버의 해당 디렉터리에 있는 php 파일입니다.
S3: 아파치 서버 자체에서는 PHP 동적 언어 스크립트 파일을 처리할 수 없으므로 PHP 애플리케이션 서버를 찾아 처리하도록 맡깁니다. (서버는 PHP 애플리케이션 서버를 미리 설치해야 합니다.) 아파치 서버가 PHP를 처리합니다. 사용자가 요청한 파일(예: index.php) 파일이 PHP 애플리케이션 서버로 전달됩니다.
S4: PHP 애플리케이션 서버는 php 파일(예: index.php)을 수신하고, php 파일을 열고 해석한 후, 마지막으로 이를 html 정적 코드로 변환한 다음, html 정적 코드를 Apache 서버에 반환하고, Apache 서버는 수신된 HTML 정적 코드를 클라이언트 브라우저(즉, 사용자)에 출력합니다.
S5: 위의 html 정적 페이지에 액세스하는 것과 동일합니다. 브라우저가 웹 서버로부터 응답을 받은 후 서버 측 html 정적 코드를 수신하여 다운로드한 다음 브라우저가 코드를 해석하고 최종적으로 웹 페이지를 렌더링합니다.
(3) 클라이언트는 서버 측에서 MySQL 데이터베이스에 액세스합니다.
사용자가 MySQL 데이터베이스의 데이터를 조작해야 하는 경우 데이터베이스 관리 소프트웨어인 MySQL 서버를 서버 측에 설치하여 저장하고 웹사이트 데이터를 관리합니다. 아파치 서버는 MySQL 서버에 접속하여 운영할 수 없기 때문에 PHP 애플리케이션 서버도 설치해야 한다. 이렇게 하면 아파치 서버는 데이터베이스의 데이터를 관리할 때 PHP 애플리케이션 서버에 위임하게 된다. 일반적으로 쿼리문, 즉 SQL문을 사용해야 합니다.
S1: 이 단계는 위의 php 파일에 접속하는 것과 동일하며, DNS 서버를 통해 해당 웹 서버의 IP 주소를 확인합니다.
S2: 위의 php 파일에 접근하는 것과 마찬가지로 아파치 서버의 해당 디렉터리에 있는 php 파일에 접근을 요청합니다.
S3: 위의 php 파일에 접근하는 것과 마찬가지로 PHP 애플리케이션 서버는 Apache 서버로부터 위임을 받아 해당 php 파일을 받습니다.
S4: PHP 응용 프로그램 서버는 php 파일을 열고, php 파일에 있는 데이터베이스 연결 코드를 통해 이 컴퓨터 또는 네트워크의 다른 컴퓨터에 있는 MySQL 데이터베이스를 연결하고, php 프로그램에서 표준 SQL 쿼리 문을 실행하여 데이터베이스를 얻습니다. 그런 다음 PHP 애플리케이션 서버의 데이터를 사용하여 데이터에서 HTML 정적 코드를 생성합니다.
S5: 브라우저는 웹 서버로부터 응답을 받은 후 서버측 HTML 정적 코드를 수신 및 다운로드한 다음 브라우저가 코드를 해석하고 최종적으로 웹 페이지를 렌더링합니다.
글의 (2)와 (3)의 차이점은 하나는 데이터베이스에 접근하고 다른 하나는 데이터베이스에 접근하지 않는다는 점이므로 과정에 약간의 차이가 있습니다.
위 내용은 아파치와 PHP의 관계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!