PHP는 무엇일까?
💡 PHP [Hypertext Preprocessor]
: Hypertext Preprocessor의 약자, Personal Home Page의 약자
* 하이퍼텍스트
: 문장 중의 어구나 그것에 붙은 표제, 표제를 모은 목차 등이 서로 연결된 문자 데이터 파일 → HTML
전처리 장치
: 컴퓨터 처리 작업 시 중심이 되는 처리를 하는 프로그램의 조건에 맞추기 위해 수행하는 사전 처리 프로그램.
: 서버에서 실행되는 웹 프로그래밍 언어
: 작성된 코드를 HTML 코드 안에 추가하면, 웹 서버는 해당 PHP 코드를 해석하여 동적 웹 페이지를 생성.
* HTML 과 차이점
: HTML은 웹 브라우저에서 소스를 해석해 보여주지만 PHP는 서버에서 해석해 HTML 코드로 만들어 브라우저에 전달
: .php 파일을 처리한다
💡 장점
1. 주요 운영체제와 대부분의 웹 서버에서 지원
2. 다른 프로그래밍 언어보다 직관적으로 코드를 작성 가능
3. 텍스트 처리에 특화되어 있어 HTML 문서 처리에 적합
💡 단점
1. 간단한 사이트를 제작하기 위해 만든 언어라 복잡한 사이트를 만드는 데는 효율적이지 못하다
2. 보안에 안전하지 않은 언어 구조를 가진다
💡 처리방식 (APM)
1. 클라이언트가 웹 브라우저를 통해 원하는 정보를 서버에 요청
-> 서버의 Apache 프로그램
2. 해당 정보를 제공하기 위해 PHP에게 스크립트 실행하기를 요청
* 이때 PHP 파서는 DB와의 연동이 필요하면 DB와 데이터 처리를 수행
-> PHP는 미리 작성된 프로그램을 통해 MySQL에 쿼리를 질의한다
3. MySQL은 DB에 저장된 데이터를 가져와 PHP에게 주고
PHP는웹 페이지의 로직 및 DB와의 작업 처리 결과를 웹서버로 전달
4. Apache는 전달받은 데이터로 웹 페이지를 완성하여 웹 브라우저로 응답을 전송
* 쿼리문 : DB에 정보를 요청하는 문
❗ APM
: Apache + PHP + MySQL
: 서버 + 웹 프로그래밍 언어 + DB 구축 및 언어
❗ Apache (Apache HTTP server)
: 웹 서비스를 제공해주는 서버
: 사용자가 웹 사이트 접속하면 웹 서버에게 HTML 파일을 요청하게 되는데
-> 요청을 받은 웹 서버가 클라이언트 컴퓨터에 HTML 파일을 제공함으로써 사용자는 해당 웹 페이지를 볼 수 있게 된다.
즉, 웹 서버는 클라이언트의 요청을 받아 해당 요청에 대해 응답하여 서비스를 제공한다.
❗ MySQL
: 관계형 데이터베이스 관리 시스템
: 유닉스, 리눅스, 윈도우 등 다양한 운영체제에서 사용 가능