2017-09-23 8 views
1

텍스트, HTML, CSS, JavaScript 및 PHP 코드가 포함 된 PHP 파일이 서버에 있다고 가정합니다.동일한 PHP 파일에있는 클라이언트 코드와 서버 코드의 인수 분해/분리 방법은 무엇입니까?

내 지식에 따라 모든 PHP 코드는 클라이언트 (예 : 웹 브라우저)에서 동일한 PHP 파일에 대한 요청을 받으면 서버 측에서 실행됩니다.

HTML 파일, CSS 및 JavaScript 코드의 나머지 코드는 클라이언트 측 (즉, 웹 브라우저)에서 실행됩니다. 즉, 클라이언트 측에서 이러한 코드를 실행하는 것은 웹 브라우저의 역할입니다.

내 질문은 PHP 확장명을 가진 동일한 파일에 모든 텍스트 (예 : 텍스트, HTML, CSS, JavaScript 및 PHP 코드)가 있으며이 파일은 클라이언트의 동일한 파일에 대한 요청을 받으면 실행을 시작합니다.

그런 다음 요청을받은 후 코드 분리가 어떻게 수행되고 누가 수행합니까?

분리하면 서버 측 코드와 클라이언트 측 코드가 분리됩니다. 누가이 코드 분리를 수행합니까?

또한 결국 한 페이지 (예 : 요청한 PHP 파일)에 모든 코드의 결과가 표시됩니다. 누가 어떻게 서버와 클라이언트 측 코드의 출력을 하나의 단일 파일로 재 조합합니까? (- PHP가 아니거나 PHP 코드에 의해 생산되는 어떤 HTML, CSS, 자바 스크립트, 이미지) 클라이언트에

답변

1

PHP는 전용 콘텐츠를 출력하는 서버에서 실행됩니다. 이 모든 것은 수신시 클라이언트가 처리해야합니다. html과 css가 파싱되어 표시되고, javascript가 실행되며 모든 다른 내용이 자체 방식으로 처리됩니다. 클라이언트의 각 요청은 브라우저 개발 도구와 서버 응답에서 볼 수 있습니다 (각각 MIME 유형이 있습니다. 즉, 한 종류의 컨텐츠 만 포함 함). 완전한 표준 웹 페이지는 보통 여러 요청을 통해 전송되며, 기본 html 본문은 첫 번째 요청에 불과합니다.

+0

클라이언트에서 서버로 요청을 받으면 모든 PHP 코드가 실행되고 non-php 콘텐츠 (html, css, javascript, images - php가 아니거나 php 코드에 의해 생성 됨)가 실행되는지의 여부)가 응답으로 브라우저로 다시 전송됩니까? PHP 처리 된 응답이 브라우저 끝에서 수신 될 때까지 HTML, CSS, JavaScript 등은 파싱/실행되지 않습니다. 서버 측 코드가 먼저 실행되고 나머지는 즉 HTML, CSS, 자바 스크립트, 이미지 등의 나머지 부분은 실행됩니까? PHP가 아니거나 PHP 코드에 의해 생성되는 것은 무엇입니까? – user2839497

+0

거의 하나의 서버 요청 = 클라이언트에 다시 전송 된 한 가지 유형의 컨텐트. 해당 내용이 동적 (PHP 코드) 인 경우 php가 실행되어 원하는대로 응답을 변경할 수 있습니다. 그렇지 않으면 내용이 그대로 전송됩니다 (서버가 내용의 유형을 설명하는 MIME 유형을 추가하지만 그 내용은). 그런 다음 각 콘텐츠는 클라이언트에 의해 수신 및 구문 분석되고 추가 콘텐츠 (js, 이미지, CSS, 동영상, 이름)에 대한 후속 요청을 트리거 할 수 있습니다. 동적 콘텐츠도 마찬가지입니다. – Calimero