PHP(Hypertext Preprocessor)란?

  • 서버 사이트 스크립트 언어 (인터프리터 언어에 속함)
  • 동적 웹 페이지를 쉽고 빠르게 만들기 위해 고안됨
  • HTML 코드 안에 PHP 코드를 작성하면 웹 서버가 해당 코드를 해석하여 웹 페이지를 생성

동적 웹 페이지(dynamic web page): 서버가 사용자의 요청대로 데이터를 가공하여 생성하는 웹 페이지

PHP의 특징

장점

  • 빠른 로딩 속도
  • 오픈 소스 프로젝트
  • 플랫폼 독립성
  • SQL 인젝션, data manipulation, forgery로부터 웹 앱을 보호하는 기능과 도구가 있다.

단점

  • 복잡한 사이트를 만드는 데에는 효율적이지 않다.
  • 오픈 소스 프로젝트의 특성으로 보안 취약점이 악용될 수 있다.
  • 보안적인 부분에서 JSP ASP.NET이 더 좋은 선택이 될 수 있다.

버전별 주요 특징

  • PHP 5: 객체 지향 프로그래밍의 개념이 많이 추가
  • PHP 5.3: 네임스페이스(namespaces) 추가
  • PHP 5.4: 단일 상속의 한계를 없앤 트레이트(traits) 개념이 추가
  • PHP 7: 2배 이상의 속도 향상 및 익명 클래스(anonymous classes)가 추가

웹 프로그래밍 언어 비교

언어 운영체제 웹 서버 제조사 속도 이식성
PHP 리눅스, 윈도우 Apache 등 오픈 소스 빠름 보통
JSP 리눅스, 윈도우 Tomcat, Jeus 등 Oracle 느림 좋음
ASP.NET 윈도우 IIS Microsoft 보통 나쁨

동작 원리

image

  1. 클라이언트가 브라우저를 열고 웹 페이지 요청한다.
  2. PHP 소프트웨어가 설치된 서버에서 요청에 맞는 .php파일을 찾는다.
  3. 파일은 PHP 인터프리터로 전송되고, 인터프리터는 데이터베이스에서 원하는 데이터를 검색한다.
  4. 원하는 데이터를 HTML파일 형식으로 반환한다.
  5. 웹 서버가 HTML파일을 받는다.
  6. 웹 서버가 웹 페이지를 브라우저로 전송한다.

참고

What Is PHP? How It Boosts Web Development
https://tcpschool.com/php/intro

수정이 필요한 부분은 댓글로 피드백 부탁드립니다!

태그:

카테고리:

업데이트:

댓글남기기