본문 바로가기

Node.js

0. 웹서버와 php란?

1. Web Server

 

php와 같은 것들을 server side script(technology) 라고 합니다.

한글로 한다면 서버 측면 언어(기술)라고 생각할 수 있기에 서버 측에서 동작하는 언어라고 할 수 있습니다.

서버(server)라는 개념안에는 Apache, PHP, MySQL 등이 있습니다.

그리고 클라이언트(client)는 서버(server)에게 요청을 하고, 서버는 클라이언트에게 응답 및 제공을 하게 되죠.

 

 

흔히들 사용하는 웹 브라우저는 웹 클라이언트로 볼 수 있습니다.

웹 브라우저에 도메인을 입력하면 웹 클라이언트는 웹 서버에 요청을 하게 됩니다.

그리고 그 요청에 대해서 응답하는 것이 웹 서버가 하는 일 입니다.

웹 브라우저에는 우리가 많이사용하는 크롬, IE, Firefox 등이 있습니다.

그리고 웹 서버에는 Apache, IIS, nginx 등이 있습니다.

다시 돌아와서 웹 클라이언트(웹 브라우저)가 요청을 하면 웹 서버가 응답 및 제공을 하게 되는데 이때 HTML을 제공하게 됩니다.

그런데 HTML은 정적인 문서입니다.

정적이다? 다시 말해서 HTML은 사람이 수작업으로 하나하나 만들어야 한다는 것입니다.

이 때문에 몇 가지 문제가 생기게 됩니다.

많은 변화들을 어떻게 반영할 것인가?

많은 것들을 어떻게 사람이 일일이 제작할 것인가? 등 입니다.

이러한 정적인 HTML에서 한계를 느끼면서 이것을 극복하고자 하는 움직임이 생겼고 그로인해 CGI(Common Gateway Interface)가 나왔습니다.

CGI 란 웹 서버와 PHP파일을 처리하는 PHP engine 사이의 통신할 수 있는 통신 규약입니다.

웹 서버가 처리할 수 없는 파일(ex. php, py, ...)을 처리할 수 있는 것(PHP engine, python, ... )에 전달합니다.

이때 그것이 가능하도록 하는 것이 CGI 입니다.

 

2. PHP

 

그 중 우리가 배울 PHP라는 것에 대해서 더 알아보도록 하겠습니다.

PHP는 Personal homepage tools의 줄임말로 시작해서 현재는 PHP:Hypertext preprocessor 라고 정의되어 있습니다.

여기서 Hypertext는 HTML이라고 생각하셔도 좋습니다. 과거에는 perl이라는 언어로 만들어졌지만 현재는 C언어로 대체되었습니다.

위에서 간략하게 알아보았지만 다시 확인해보면 PHP는 서버쪽에서 실행 되는 프로그래밍 언어입니다. 주로 HTML 코드를 프로그래밍적으로 생성하죠.

 

PHP의 장점으로는 무엇이 있을까요?

웹 개발에서 많이 사용되고 있는 php는 관련된 많은 기능을 제공합니다.

따라서 웹 개발에 최적화된 언어로써 과거부터 현재까지 많이 이용되고 있습니다.

또한 거의 모든 데이터베이스를 지원하고 현재 가장 많은 공개소프트웨어가 PHP로 만들어져 있습니다.

 

PHP를 초보자에게 많이 쉽고 전문가에게는 많은 기능을 제공하기 때문에 많이 이용하기도 합니다.



출처: https://doorbw.tistory.com/29 [Tigercow.Door]

 

즉, 우리는 웹서버를 제공해주는 apache, IIS 혹은 Nodejs위에서 프로그래밍언어 php,javascript를 사용해서 custom web server를 구축하는것이다. 마치 그림판 위에서 그림을 그려서 나만의 그림을 그리는 것처럼.

'Node.js' 카테고리의 다른 글

pm2  (0) 2019.04.28
정보처리 핵심.  (0) 2019.04.26
GET메서드 POST메서드 란?  (0) 2019.04.26
0. 개요  (0) 2019.04.24