Min's dev-log
[PHP] PHP란? 본문
PHP를 알기 전에 먼저 서버와 클라이언트에 대해 이해하고 가자.
1. 웹 시스템(web system)
Web Server와 Web Client
클라이언트(웹 클라이언트)는 서버(웹 서버)에 요청을 하고, 서버는 클라이언트에게 응답 및 제공을 한다.
흔히 사용하는 웹 브라우저가 웹 클라이언트라고 볼 수 있다.
웹 브라우저에는 chrome, IE, Firefox 등이 있고 웹 서버에는 Apache, IIS, nginx 등이 있다.
웹 브라우저에 url을 입력하면 웹 서버에 도달하게 되고 웹 서버는 url에 해당하는 것을 응답하게 된다.
이때 요청한 파일이 HTML이라면 여기서 끝나는데 요청한 것이 예를 들어 PHP문서라고 한다면
웹 서버는 이를 처리하지 못하기 때문에 PHP interpretor/ engine을 호출해서 파일의 해석을 의뢰한다.
PHP Engine은 해석하고 PHP문법에 따라서 실행하고 그 결과를 웹 서버에게 돌려준다.
그러면 웹 서버는 웹 클라이언트에게 마치 HTML인 것처럼 전송하여 응답을 한다.
HTML은 정적인 문서이다. 정적이다? 이건 HTML문서를 사람이 일일이 다 만들어야 한다는 것.
인터넷의 규모가 점점 커지면서 정적에서의 한계를 느끼고 이것을 극복하고자 생겨난 것이
바로 CGI(Common Gateway Interface)이다.
CGI란 웹 서버와 PHP파일을 처리하는 PHP engine 사이의 통신할 수 있는 통신 규약이다.
웹 서버가 처리할 수 없는 파일을 처리할 수 있는 PHP engine에 전달하여 처리하는 것을
가능하게 해주는 것이 CGI이다.
2. PHP란?
PHP는 Server Side Script로 서버 측 기술/언어이며 웹 개발에 많이 사용된다.
1995년 라스무스 러도프가 처음 만들었다.
처음에는 Personal Home Page Tools로 개인 홈페이지를 쉽게 만들 수 있는 가벼운 도구로 시작되었다.
이후 PHP의 정식이름은 PHP: Hypertext Preprocessor이다. 여기서 Hypertext는 HTML이라고 생각해도 좋다.
장점
- 기본적으로 웹과 관련된 많은 기능들을 제공한다.
- 웹을 위해서 만들어진 언어이기 때문에
웹 운영 시스템을 사용한다면 기본적으로 PHP가 설치되어있을 가능성이 높다. (편의성 증가)
- 코드 작성이 쉽고 문법이 간단하다.
- 스크립트 언어이기 때문에 HTML문서 내부에 입력하여 실행할 수 있어 편리하다.
- 다양한 데이터베이스를 지원한다.
- 오픈 소스 기술로 원하는 사람은 쉽게 배울 수 있다.
'PHP' 카테고리의 다른 글
[PHP] 조건문 (0) | 2023.05.03 |
---|---|
[PHP] 변수의 종류 (0) | 2023.05.02 |
[PHP] 변수와 상수 (0) | 2023.05.02 |
[PHP] 숫자와 문자 (0) | 2023.05.02 |
[PHP] Apache, PHP8.0 설치 (0) | 2023.04.30 |