PHP는 Server Side Script로서 웹서버 측에서 사용되는 프로그래밍 언어입니다.
말 그대로 개인의 홈페이지를 좀 더 쉽게 만들기 위해서 만들어진 도구였고 perl이라는 언어로 개발되었지만 지금은 C언어로 바뀌었다고 합니다.
초창기 인터넷에서는 웹 클라이언트(브라우저)와 웹서버만 존재했으며 클라이언트가 서버에 어떤 요청을 하면 서버는 그에따른 HTML문서를 읽고 응답하는것이 웹 초창기의 모습이고 PHP나 Python같은 언어들이 웹을 위해서 사용되지 않았던 때입니다.
하지만 이렇게 되면 정적파일인 HTML을 요청에 따라서 하나하나 만들어야되는 문제가 있었습니다.
인터넷의 규모가 작았을때는 별 문제가 없었지만 네이버나 구글같은 대규모 플랫폼이 나오면서 수작업으로 문서를 작성하기엔 점점 한계에 도달하게 됩니다.
그래서 고민을 하다보니 나오게 된 것이 CGI(Common Gateway Interface) 입니다.
이것을 간단하게 설명하면 우리가 주소창에 velog.io/@meong9090/topic.php라고 친다고 가정을 해 봅시다.
그러면 해당 주소를 타고 웹 서버에 도착하고 내가 요청한 topic.php라는 페이지를 찾게되는데 확장자를 보니 php로 되어있습니다.
그렇다면 웹 서버는 이 php파일을 처리할 수 있는 PHP engin같은 애플리케이션으로 해당 파일을 넘겨줍니다.
그러면 PHP engin은 해당 파일을 PHP문법에 따라서 해석한 후 그 결과를 웹서버에게 넘겨주고 웹서버는 넘겨받은 정보를 클라이언트에게 전송하는 형태로 동작하게 됩니다.
이런 웹서버와 애플리케이션(PHP engin 등)과의 통신규약을 CGI라고 합니다.
참고