백엔드 개발 PHP 문제 아파치와 PHP의 관계

아파치와 PHP의 관계

Nov 09, 2019 am 09:07 AM
apache php

아파치와 PHP의 관계

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. Apr 05, 2025 am 12:04 AM

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

H5 프로젝트를 실행하는 방법 H5 프로젝트를 실행하는 방법 Apr 06, 2025 pm 12:21 PM

H5 프로젝트를 실행하려면 다음 단계가 필요합니다. Web Server, Node.js, 개발 도구 등과 같은 필요한 도구 설치. 개발 환경 구축, 프로젝트 폴더 작성, 프로젝트 초기화 및 코드 작성. 개발 서버를 시작하고 명령 줄을 사용하여 명령을 실행하십시오. 브라우저에서 프로젝트를 미리보고 개발 서버 URL을 입력하십시오. 프로젝트 게시, 코드 최적화, 프로젝트 배포 및 웹 서버 구성을 설정하십시오.

매치 표현식 (PHP 8)과 스위치와 어떻게 다른지 설명하십시오. 매치 표현식 (PHP 8)과 스위치와 어떻게 다른지 설명하십시오. Apr 06, 2025 am 12:03 AM

PHP8에서 매치 표현식은 표현식의 값에 따라 다른 결과를 반환하는 새로운 제어 구조입니다. 1) 스위치 명령문과 유사하지만 실행 명령문 블록 대신 값을 반환합니다. 2) 경기 표현식은 엄격하게 비교되어 (===) 보안을 향상시킵니다. 3) 스위치 명세서에서 가능한 파손을 피하고 코드의 단순성과 가독성을 향상시킵니다.

CSRF (Cross-Site Request Grospory) 란 무엇이며 PHP에서 CSRF 보호를 어떻게 구현합니까? CSRF (Cross-Site Request Grospory) 란 무엇이며 PHP에서 CSRF 보호를 어떻게 구현합니까? Apr 07, 2025 am 12:02 AM

PHP에서는 예측할 수없는 토큰을 사용하여 CSRF 공격을 효과적으로 방지 할 수 있습니다. 특정 방법은 다음과 같습니다. 1. 형태로 CSRF 토큰을 생성하고 포함시킨다. 2. 요청을 처리 할 때 토큰의 유효성을 확인하십시오.

XML로 PDF를 내보내는 방법 XML로 PDF를 내보내는 방법 Apr 03, 2025 am 06:45 AM

XML을 PDF로 내보내는 두 가지 방법이 있습니다 : XSLT 사용 및 XML 데이터 바인딩 라이브러리 사용. XSLT : XSLT 스타일 시트를 만들고 XSLT 프로세서를 사용하여 XML 데이터를 변환 할 PDF 형식을 지정하십시오. XML 데이터 바인딩 라이브러리 : XML 데이터 바인딩 라이브러리 가져 오기 PDF 문서 객체로드 XML 데이터 내보내기 PDF 파일을 만듭니다. PDF 파일에 더 나은 방법은 요구 사항에 따라 다릅니다. XSLT는 유연성을 제공하지만 데이터 바인딩 라이브러리는 구현하기가 간단합니다. 간단한 변환의 경우 데이터 바인딩 라이브러리가 더 좋으며 복잡한 변환의 경우 XSLT가 더 적합합니다.

클래스가 확장되지 않거나 방법이 PHP에서 무시되지 않도록하려면 어떻게해야합니까? (최종 키워드) 클래스가 확장되지 않거나 방법이 PHP에서 무시되지 않도록하려면 어떻게해야합니까? (최종 키워드) Apr 08, 2025 am 12:03 AM

PHP에서 최종 키워드는 클래스가 상속되고 메소드가 덮어 쓰는 것을 방지하는 데 사용됩니다. 1) 클래스를 최종적으로 표시 할 때는 수업을 상속받을 수 없습니다. 2) 메소드를 최종으로 표시 할 때는 메소드를 서브 클래스로 다시 작성할 수 없습니다. 최종 키워드를 사용하면 코드의 안정성과 보안이 보장됩니다.

PHP 함수 인수 및 배열 풀기에서 ... (SPLAT) 연산자의 목적과 사용을 설명하십시오. PHP 함수 인수 및 배열 풀기에서 ... (SPLAT) 연산자의 목적과 사용을 설명하십시오. Apr 06, 2025 am 12:07 AM

PHP의 ... (SPLAT) 연산자는 기능 매개 변수 및 배열을 포장하여 코드 단순성 및 효율성을 향상시키는 데 사용됩니다. 1) 함수 매개 변수 풀기 : 배열 요소를 함수로 매개 변수로 전달합니다. 2) 배열 풀기 : 배열을 다른 배열 또는 함수 매개 변수로 포장합니다.

php에서 엄격한 유형을 설명하십시오 (strict_types = 1);). php에서 엄격한 유형을 설명하십시오 (strict_types = 1);). Apr 07, 2025 am 12:05 AM

php의 엄격한 유형은 declare (strict_types = 1)를 추가하여 활성화됩니다. 파일 상단에서. 1) 함정 유형 변환을 방지하기 위해 함수 매개 변수 및 리턴 값의 검사 유형 검사를 강요합니다. 2) 엄격한 유형을 사용하면 코드의 신뢰성과 예측 가능성을 향상시키고 버그를 줄이며 유지 관리 및 가독성을 향상시킬 수 있습니다.

See all articles