백엔드 개발 PHP 튜토리얼 PHP 학습 가이드 - 2장

PHP 학습 가이드 - 2장

Dec 23, 2016 am 09:33 AM
PHP 학습

서버측 웹 스크립팅 언어

이 장의 핵심 포인트
·정적 및 동적 웹 페이지 이해
·클라이언트측 및 서버측 스크립팅 언어 비교
·소개 서버 측 스크립팅 언어로

이 장에서는 서버 측 스크립팅 언어 자체에 대해 중점적으로 논의하고 정적 HTML 및 일반적인 클라이언트 측 기술과의 관계에 대해서도 설명합니다. 이 장을 마치면 독자들은 PHP가 무엇을 할 수 있고 무엇을 할 수 없는지에 대한 명확한 아이디어를 갖게 될 것이며, PHP가 원래 클라이언트와 어떻게 통신하는지에 대한 일반적인 이해도 갖게 될 것입니다.

정적 HTML

가장 기본적인 형태의 웹 페이지는 완전히 HTML로 작성된 정적인 텍스트 전용 페이지입니다. 그림 2-1의 간단한 HTML 페이지는 예입니다.

서버측 웹 스크립팅 언어

이 장의 핵심 포인트
·정적 및 동적 웹 페이지 이해
·클라이언트측 및 서버측 스크립팅 언어 비교
·서버사이드 스크립팅 언어 소개

이 장에서는 서버사이드 스크립팅 언어 자체에 대해 중점적으로 논의하고, 정적 HTML과 일반적인 클라이언트측 기술과의 관계에 대해서도 설명합니다. 이 장을 마치면 독자들은 PHP가 무엇을 할 수 있고 무엇을 할 수 없는지에 대한 명확한 아이디어를 갖게 될 뿐만 아니라 PHP가 원래 클라이언트와 어떻게 통신하는지에 대한 일반적인 이해를 갖게 될 것입니다.

정적 HTML

가장 기본적인 형태의 웹 페이지는 완전히 HTML로 작성된 정적인 텍스트 전용 페이지입니다. 그림 2-1의 간단한 HTML 페이지는 예입니다.

그림 2-1 정적 HTML 웹페이지 명세

다음은 그림 2-1의 소스코드이다.

그림에서와 같이 2-2에서와 같이 클라이언트 컴퓨터가 웹이나 인트라넷을 통해 서버에 페이지에 대한 HTTP 요청을 할 때, 서버는 파일에서 찾을 수 없는 평문만을 전달하면 된다.


데이터가 클라이언트 컴퓨터로 다시 전송되면 브라우저는 소스 코드 내용, 사용자 선호도, 모니터 크기 및 기타 요인에 대한 정확한 분석을 기반으로 최상의 처리 및 표시를 수행합니다. 서버에 있는 HTML 파일의 내용은 클라이언트 컴퓨터에 있는 페이지의 소스 코드와 정확히 동일합니다.

귀하의 것과 같은 매우 일반적인 정적 HTML에는 다음과 같은 장점이 있습니다.

◆ 모든 브라우저에는 이를 표시할 수 있는 기능이 있습니다.

◆대부분의 기기에는 표시 기능이 있습니다.

◆모든 요청을 신속하게 실행하고 최소한의 리소스를 사용합니다.

◆ HTML은 배우기 쉬우며 자동으로 생성됩니다.

◆ 개별 페이지에 작은 변경을 빠르게 적용하는 기능.

◆ 물론 정적 HTML에도 단점이 있습니다.

◆ 디자인과 레이아웃을 제어하기가 어렵습니다.

◆ 많은 페이지로 확장할 수 없습니다.

◆ 상호작용이 충분하지 않습니다.

◆ 페이지에 대한 의미 있는 메타데이터를 포함하는 것은 쉽지 않습니다.

◆ 콘텐츠나 개인화 정보의 급격한 변화에 대처하기 어려움.

◆ 그다지 매력적이지 않습니다.

이러한 제한 사항을 해결하기 위해 클라이언트 측 JavaScript, CSS(Cascading Style Sheet) 및 Java 애플릿은 물론 서버 측 데이터베이스 연결을 위한 서버 측 스크립팅 언어를 비롯한 많은 다른 기술이 개발되었습니다. . 개발 중인 기술에는 XML과 XSL이 포함되며, 둘 다 다양한 다른 사양(XHTML, XSLT, XPath, ICE 등)의 일부입니다.

이러한 기술이 어떤 기능을 갖고 있는지, 자신의 웹 사이트에 추가할 수 있는지 여부를 잠시 시간을 들여 이해한다면 앞으로 골치 아픈 일이 발생할 가능성이 확실히 줄어들 것입니다. 어떤 웹 사이트 작업이든 스스로에게 물어야 할 첫 번째 기본 질문은 다음과 같습니다. 이 계산은 클라이언트 또는 서버 중 어디에서 수행됩니까?

"동적"의 의미 "정적" 웹 페이지와 "동적" 웹 페이지 사이에는 기본적이고 반복되는 차이점이 있지만 "동적"은 일반 HTML을 제외한 거의 모든 것을 의미할 수 있습니다. 클라이언트 측 기능과 서버 측 기능을 모두 설명하는 데 사용됩니다. 사용자 측에서 "동적"은 멀티미디어 디스플레이, 제목 행 스크롤, 자동 업데이트 페이지 또는 사라지고 나타나는 요소 등으로 볼 수 있습니다. 서버 측에서 이 용어는 일반적으로 무선으로 전송되고 대화형으로 구성되는 콘텐츠를 나타내는 데 사용됩니다.

클라이언트 측 기술

일반 HTML의 경우 가장 일반적인 콘텐츠 추가는 클라이언트 측에서 발생합니다. 여기에는 CSS 및 동적 HTML과 같은 형식 확장, 클라이언트측 스크립팅 언어, Java 애플릿 및 Flash가 포함됩니다. 이러한 기술에 대한 지원은 (대부분 지원) 웹 검색에 내장되어 있습니다. 표 2-1에는 해당 기능이 나열되어 있으며 그 중 일부는 중복됩니다.

표 2-1 클라이언트 측 HTML 확장

그림 2-3에 나열된 페이지 예제는 그림 2-1과 동일한 내용을 기반으로 합니다.

소스 코드에서 볼 수 있듯이 이 예제에는 몇 가지 새로운 스타일 시트, 클라이언트측 스크립팅 및 좀 더 복잡한 HTML 코드가 추가되었습니다.



안타깝게도 클라이언트 측 기술의 가장 큰 장점은 품질도 최악이라는 점입니다. 즉, 전적으로 브라우저에 의존합니다. 각 브라우저의 기능은 동일한 브랜드에서 생산된 다양한 버전 간에도 크게 다릅니다. 또한 모든 사람은 다양한 방식으로 브라우저를 구성할 수 있습니다. 예를 들어 일부 사람들은 보안 문제로 인해 JavaScript 사용을 비활성화하여 탐색에 JavaScript를 과도하게 사용하는 사이트를 탐색하는 것이 불가능할 수 있습니다. (이전 예에서 기능을 표시한다면)

게다가 많은 사용자들이 비용이나 기술 부족으로 인해 브라우저 업그레이드에서 좋지 않은 결과를 겪고 있습니다. 웹 개발자는 장치 기반 탐색, 일반 및 글로벌 사용자 등에 대해 이해하고 있어야 합니다. 예를 들어, Yahoo!와 Amazon은 이러한 표준을 채택한 후 3년 이상 스타일 시트와 JavaScript를 사용하지 말 것을 고집해 왔습니다. W3C의 압력으로 인해 많은 웹사이트는 여전히 FONT 태그와 BGCOLOR 속성 사용을 고집하고 있습니다. 해당 고객은 13시 모니터가 있는 구형 Macintosh 시스템에서 AOL ​​3.0을 사용하는 사용자일 수 있습니다. 더욱 아이러니한 점은 웹이 5년 동안 급속한 발전을 이룬 후에도 개발자가 고객에게 절대적으로 보장할 수 있는 유일한 것은 주로 일반 텍스트인 일반 HTML을 보게 될 것이라는 점입니다. (또는 시간의 테스트를 성공적으로 쉽게 견뎌낸 HTML의 하위 집합일 수도 있습니다.)

마지막으로 클라이언트 측 기술은 백엔드 서버에 연결해야 하는 작업을 수행할 수 없습니다. JavaScript는 데이터베이스에 저장된 사용자 기본 설정 옵션을 기반으로 사용자 정의 드롭다운 목록을 즉시 생성할 수 없습니다. 목록을 변경해야 하는 경우 웹 개발자는 해당 페이지로 이동하여 수동으로 변경해야 합니다(서버 측 JavaScript이지만 현재는 사용되지 않습니다. 너무 많습니다.) 이 문제에 대해서는 서버 측 JavaScript 언어가 이러한 격차를 해소할 수 있는 구세주입니다.

간단히 말하면 레이아웃 구성이나 브라우저 이벤트를 처리하는 모든 작업은 사용자 측에서 발생합니다. 일반적으로 멋진 효과나 마우스 움직임에 따른 효과 등은 사용자 측에서 수행됩니다. 이벤트가 빠르게 나타날수록 클라이언트에서 이벤트를 처리할 가능성이 높아지는 것을 알 수 있습니다. 속도가 빠르면 서버에서 다운로드할 필요가 없기 때문입니다.

참고:
"클라이언트측 Java"라고도 알려진 Java 애플릿은 다른 클라이언트측 기술보다 브라우저에 덜 의존합니다. 이름에서 알 수 있듯이 인터넷을 통해 제공되는 완전한 소형 Java 애플리케이션이지만 클라이언트 운영 체제와 직접 상호 작용하는 다른 프로그래밍 언어로 작성된 애플리케이션과 달리 Java 애플릿은 JVM(Java Virtual Machine)이라는 소프트웨어에서 실행됩니다. . 가상 머신, 자바 가상 호스트) 중개 소프트웨어. JVM은 실제 운영체제 위에 존재하는 운영체제라고 볼 수 있다. 대부분의 최신 브라우저에는 충분하지 않은 JVM이 있습니다. 물론 별도로 다운로드하여 사용할 수도 있습니다. 이러한 작업 구별을 통해 애플릿은 브라우저의 상대적으로 약한 기능에 의해 제한되지 않고 브라우저가 특수 기능을 수행할 수 있도록 합니다.

애플릿은 원래 투명한 풀처럼 보이는 아이콘 로고, 제목 표시줄 스크롤, 점핑 본딩 등 간단한 애니메이션을 구현하는 데 사용되었기 때문에 초기에는 의미 없는 작은 것으로 간주되었습니다. 다행스럽게도 애플릿은 발전하여 크로스워드 퍼즐, 하노이 타워 시뮬레이션, 슈트 및 액세서리 입어보기, 가상 모드 등 매우 인간적인 목적으로 사용될 수 있습니다.


서버 측 스크립팅 언어

그림 2-4는 서버 스크립팅 데이터 프로세스의 개략도입니다.

클라이언트 측 스크립팅 언어는 매우 매력적이고 웹 개발에서 가장 눈길을 끄는 부분입니다. 서버 측 프로그래밍은 그와 정반대입니다. 사용자에게는 보이지 않고 그 뒤에 숨겨져 있습니다. 서버 측 스크립팅 프로그래머는 항상 백엔드 웹 서버의 데이터를 탐색하려고 노력하는 반면, 프론트 엔드에서 예술적 재능을 가진 동료는 대중 앞에서 자신의 작업을 표현할 수 있습니다.

서버측 웹의 스크립팅 언어는 주로 웹사이트를 데이터베이스 등의 백엔드 서버에 연결하여 양방향 통신을 가능하게 한다.


스크립팅 서버 측 웹 언어 스크립팅 언어는 주로 웹 웹 사이트를 데이터베이스와 같은 백엔드 서버에 연결하여 양방향 통신을 가능하게 합니다.

◆ 서버에서 클라이언트로: 웹 페이지를 결합할 수 있습니다. 백엔드 서버의 출력에서 ​​.

◆ 클라이언트 대 서버: 클라이언트가 입력한 정보를 유효하게 만듭니다.

사용자-서버 통신의 일반적인 예로는 온라인 양식과 서버에서 동적으로 결합되는 일부 드롭다운 목록이 있습니다. (보통은 버튼을 눌러야 합니다.)

서버 측 스크립팅 언어 제품은 스크립팅 언어와 스크립팅 엔진(웹 서버에 내장되거나 내장되지 않을 수 있음)의 두 가지 주요 부분으로 구성됩니다. 엔진 부품은 모두 동일한 회사 또는 팀에서 개발되었으며 서로 결합해서만 사용할 수 있습니다(PHP3 및 ColdFusion이 그러한 예입니다). 그러나 이 규칙에는 예외가 있습니다. 예를 들어 Java Server Pages는 특수 목적의 스크립트 언어가 아닌 표준 프로그래밍 언어로 작성되었습니다. 일부 파트너는 호환 가능하고 상호 교환 가능한 여러 엔진(예: Allaire JRun, Apache JServ)을 개발했습니다.

이론적으로 Active Server Pagesb는 대부분의 스크립팅 언어와 그에 맞는 여러 ActiveX 스크립팅 엔진 중 하나를 사용할 수 있습니다(단, 실제로는 NT/IIS/VBScript/JScirpt 조합을 제외하고는 많은 문제점이 있습니다). 다른 조합과 함께) PHP4의 스크립팅z 엔진(Zend)은 현재 이론적으로 PHP 프로그래밍 언어와 분리되어 있으므로 이제 PHP4는 별도의 독립적인 스크립팅 기술로 간주됩니다.

그림 2.5에는 간단한 서버측 스크립팅 언어의 예가 나와 있습니다. 서버측 소스 코드와 클라이언트측 소스 코드를 기반으로 데이터베이스에서 페이지가 즉시 생성됩니다. 우리는 데이터베이스 호출을 포함시켰고(이 책의 2부까지는 자세히 설명하지 않겠습니다) 포함된 파일 중 일부를 생략했습니다. 왜냐하면 이 예제의 목적은 PHP의 최종 제품을 보여주는 것이지 공식적인 결과를 보여주기 위한 것이 아니기 때문입니다. Job 실행 가능 소스 코드는

다음은 서버에 있는 소스 코드입니다

클라이언트에 도달했을 때 같은 페이지의 소스 코드 제시 형태입니다.

위 내용은 PHP 학습 가이드 - 2장입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

PHP 개발을 배우는 방법? PHP 개발을 배우는 방법? Jun 12, 2023 am 08:09 AM

인터넷의 발달로 인해 동적 웹 페이지에 대한 수요가 증가하고 있습니다. PHP는 주류 프로그래밍 언어로서 웹 개발에 널리 사용됩니다. 그렇다면 초보자의 경우 PHP 개발을 어떻게 배울 수 있을까요? 1. PHP의 기본 지식을 이해합니다. PHP는 HTML 코드에 직접 삽입되어 웹 서버를 통해 구문 분석되고 실행될 수 있는 스크립팅 언어입니다. 따라서 PHP를 배우기 전에 먼저 HTML, CSS, JavaScript 등 프론트엔드 기술의 기본을 이해해야 PHP가 어떻게 작동하는지 더 잘 이해할 수 있습니다.

PHP 연구 노트: 웹 크롤러 및 데이터 수집 PHP 연구 노트: 웹 크롤러 및 데이터 수집 Oct 08, 2023 pm 12:04 PM

PHP 연구 노트: 웹 크롤러 및 데이터 수집 소개: 웹 크롤러는 인터넷에서 자동으로 데이터를 크롤링하는 도구로, 인간의 행동을 시뮬레이션하고 웹 페이지를 탐색하며 필요한 데이터를 수집할 수 있습니다. 널리 사용되는 서버 측 스크립팅 언어인 PHP는 웹 크롤러 및 데이터 수집 분야에서도 중요한 역할을 합니다. 이 기사에서는 PHP를 사용하여 웹 크롤러를 작성하는 방법을 설명하고 실용적인 코드 예제를 제공합니다. 1. 웹 크롤러의 기본 원칙 웹 크롤러의 기본 원칙은 HTTP 요청을 보내고, 서버로부터 H 응답을 받아 구문 분석하는 것입니다.

PHP 연구 노트: 모듈식 개발 및 코드 재사용 PHP 연구 노트: 모듈식 개발 및 코드 재사용 Oct 10, 2023 pm 12:58 PM

PHP 연구 노트: 모듈식 개발 및 코드 재사용 소개: 소프트웨어 개발에서 모듈식 개발 및 코드 재사용은 매우 중요한 개념입니다. 모듈식 개발은 복잡한 시스템을 관리 가능한 작은 모듈로 분해하여 개발 효율성과 코드 유지 관리성을 향상시키는 동시에 코드 재사용을 통해 중복 코드를 줄이고 코드 재사용성을 향상시킬 수 있습니다. PHP 개발에서는 몇 가지 기술적 수단을 통해 모듈식 개발과 코드 재사용을 달성할 수 있습니다. 이 기사에서는 독자가 이러한 개념을 더 잘 이해하고 적용할 수 있도록 일반적으로 사용되는 몇 가지 기술과 특정 코드 예제를 소개합니다.

PHP 연구 노트: 성능 분석 및 조정 PHP 연구 노트: 성능 분석 및 조정 Oct 08, 2023 pm 03:21 PM

PHP 연구 노트: 성능 분석 및 튜닝 소개: 웹 개발에서 성능은 매우 중요한 요소입니다. 고성능 웹사이트는 더 나은 사용자 경험을 제공하고 사용자 유지율을 높이며 비즈니스 수익을 늘릴 수 있습니다. PHP 개발에서 성능 최적화는 일반적이고 중요한 문제입니다. 이 기사에서는 PHP의 성능 분석 및 튜닝 방법을 소개하고 독자가 이러한 기술을 더 잘 이해하고 적용할 수 있도록 구체적인 코드 예제를 제공합니다. 1. 성능 분석 도구 Xdebug 확장 Xdebug는 강력한 P 도구입니다.

2023년에 PHP를 배우는 가장 좋은 방법은 무엇입니까? 2023년에 PHP를 배우는 가장 좋은 방법은 무엇입니까? Sep 10, 2023 pm 09:16 PM

2023년에 PHP를 배우는 가장 좋은 방법은 무엇입니까? 인터넷의 급속한 발전으로 컴퓨터 프로그래밍은 취업 가능성이 매우 높은 기술이 되었습니다. 많은 프로그래밍 언어 중에서 PHP는 네트워크 개발에 널리 사용되는 언어입니다. PHP를 배우고 싶다면 PHP를 배우는 가장 좋은 방법을 아는 것이 중요합니다. PHP는 동적 웹사이트와 애플리케이션을 개발하는 데 사용되는 오픈 소스 서버측 스크립팅 언어입니다. 다른 언어에 비해 PHP는 학습 곡선이 낮고 응용 분야가 넓어 초보자에게 이상적인 선택입니다.

PHP의 비디오 특수 효과 및 필터 처리 기능 알아보기 PHP의 비디오 특수 효과 및 필터 처리 기능 알아보기 Aug 07, 2023 pm 11:53 PM

PHP의 비디오 특수 효과 및 필터 처리 기능 방법을 배우십시오. PHP는 웹 개발 분야에서 널리 사용되는 강력한 프로그래밍 언어입니다. 웹 사이트 디자인의 발전으로 비디오 특수 효과 및 필터 처리가 점점 더 대중화되고 있습니다. 이 기사에서는 PHP를 사용하여 비디오 특수 효과 및 필터 처리를 구현하는 방법과 일반적으로 사용되는 몇 가지 함수 방법을 소개합니다. 1. ffmpeg 확장을 설치합니다. 비디오를 처리하려면 ffmpeg 확장을 설치해야 합니다. 이 확장을 통해 비디오 처리를 위해 PHP에서 ffmpeg 명령을 직접 호출할 수 있습니다. 설치 과정

PHP 연구 노트: 양식 처리 및 데이터 유효성 검사 PHP 연구 노트: 양식 처리 및 데이터 유효성 검사 Oct 09, 2023 am 08:52 AM

PHP 연구 노트: 양식 처리 및 데이터 유효성 검사 웹 개발에서 양식은 사용자가 웹 사이트와 상호 작용하는 중요한 구성 요소 중 하나입니다. 사용자가 웹사이트에서 양식을 작성하고 데이터를 제출할 때 웹사이트는 데이터의 정확성과 보안을 보장하기 위해 제출된 데이터를 처리하고 검증해야 합니다. 이 기사에서는 PHP를 사용하여 양식을 처리하고 데이터 유효성 검사를 수행하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 양식 제출 및 데이터 전처리 HTML에서는 양식을 생성하고 양식을 지정하려면 <form> 태그를 사용해야 합니다.

PHP 연구 노트: 프런트엔드와 백엔드 분리 및 API 설계 PHP 연구 노트: 프런트엔드와 백엔드 분리 및 API 설계 Oct 08, 2023 am 09:42 AM

PHP 연구 노트: 프런트엔드와 백엔드 분리 및 API 설계 개요: 인터넷이 지속적으로 발전하고 사용자 요구가 증가함에 따라 프런트엔드와 백엔드 분리 개발 모델이 점점 더 많은 주목을 받고 있습니다. 개발자. 프론트엔드와 백엔드 분리란 프론트엔드와 백엔드 개발을 분리하고 API를 통해 데이터 상호작용을 수행하여 개발 효율성과 유연성을 확보하는 것을 의미합니다. 이 기사에서는 프런트엔드와 백엔드 분리의 개념과 API 설계 방법을 소개합니다. 프런트엔드와 백엔드 분리 개념: 전통적인 웹 개발 모델은 프런트엔드와 백엔드 결합입니다. 즉, 프런트엔드와 백엔드의 개발이 동일한 프로젝트에서 수행됩니다.

See all articles