코딩/PHP

php, 웹서버, 웹 클라이언트

moodyblues 2022. 1. 1. 15:24

php, 웹서버, 웹 클라이언트

1. 웹서버(Web server)란 무엇인가

웹 클라이언트의 반대 개념이다

php, 웹서버
php란, 웹서버란

2. 웹 클라이언트(Web client)란 무엇인가

아래에서 알아보자

3. 인터넷의 프레임의 구성 요소 = 웹 클라이언트 + 웹 서버

1) 클라이언트

+ 2) 서버

  • 클라이언트란 = 요청자
  • 서버 = 제공자
  • 서버(예: 카페 서빙) = 음식을 손님들에게 제공하는 사람, 요청에 대해 응답하는 사람
  • 컴퓨터에서 클라이언트 = pc, 노트북, 아이폰, 안드로이드
  • 접근할 때의 프로그램: 웹 브라우저= Web client

3) 웹 클라이언트(Web client)

서버로 접근하는 웹 브라우저 = Web client
(크롬, 인터넷 익스플로러, 사파리, 파이어폭스) 

4) 웹 서버(Web server) = 웹 클라이언트의 반대 = 소프트웨어

웹 클라이언트(웹 브라우저= 크롬 등)로부터 요청을 받고 응답해야 하는 프로그램(소프트웨어)
그러므로 인터넷은 ① 웹브라우저② 웹 서버가 속삭이는 대화이다.

4. 서버(server)의 프레임 = 서버의 구성

1) 서버 기술 전체

2) 서버 부분을 구성하는 부품과 같은 개발 기술

  • 1) 아파치 또는 IIS 또는 엔진엑스
  • 2) php, 파이썬, 자바
  • 3) MySQL, 오라클

각각의 부품들을 서로 연결시켜주는 개념 = 프레임

5. 웹서버(Web server)의 역할 및 종류

웹서버란 서버 역할을 하는 소프트웨어를 말한다.
아파치(Apache), 엔진엑스(NginX), IIS 등이 웹 서버이다.(IIS는 윈도우에서 사용된다)

웹서버는 외부 클라이언트 컴퓨들이 서버에 접근해서 서버에 저장되어 있는 파일(html, css, 자바스크립트, 이미지 파일, 영상 파일 등)들에 받아 갈 수 있도록 하는 역할을 한다.

6. 웹 서버와 서버 언어

웹 클라이언트의 언어는 HTML이다. 웹브라우저에서 웹 페이지를 표현하려면 HTML, CSS, 자바스크립트 정도면 된다. 그러나 html 파일이 라고 하는 것은 정적인 파일이다. '정적'이라 함은 html 문서의 경우 하나하나 수작업으로 만들어야 된다는 의미이다. 웹페이지에 전체적인 큰 변화가 필요할 때 그 변화를 어떻게 수용할 수 있는가? 그 한계를 극복하기 위한 것으로써 웹서버와 php 엔진 사이의 통신 규약이 있다. 

통신 규약은 Common, Gateway, Interface이다.

1) 웹서버가 요청받은 파일이 html 파일일 경우

  • 웹서버는 요청받은 파일이 html이면 해당되는 파일을 찾아서 클라이언트에게 전달한다.
  • 웹브라우저가 웹서버에 파일을 보여달라고 요청을 할 때, 요청받은 파일이 html이면 웹서버는 해당되는 파일을 찾아서 웹브라우저에게 전송한다. 그러면 웹브라우저는 html 담겨 있는 내용을 해석해서 사용자에게 웹 페이지를 보여 주게 된다

2) php 파일일 경우

  1. 웹서버는 php 엔진을 구동시키고 동작시키고 처리를 위임한다.
  2. php 엔진은 php 파일 php 문법에 따라 해석하고 처리하여, 그 결과를 웹 서버에게 돌려준다.
  3. 웹서버는 마치 html을 html 문서를 웹 클라이언트에게 전송하는 것과 똑같이 그 정보를 웹 클라이언트에게 전송한다.

3) cgi = 웹서버와 php 엔진 사이의 통신 규약

웹서버와 php 엔진 사이에서 웹서버가 처리할 수 없는 정보를 php, 파이썬 등이 실행할 수 있도록 약속 맺어진 통신 규약을 말한다. 아파치를 엔진엑스로, 엔진엑스와 아파치 등이 상호 변경 가능하고 php와 파이썬 등을 변경할 수 있다(표준화)

7. 요약

클라이언트 컴퓨터에는 웹 브라우저가 설치되어 있고, 서버 컴퓨터에는 웹서버 소프트웨어가 설치되어 있다. 웹브라우저에 url을 입력했을 때, 그게 html이라면 웹 서브는 바로 응답할 수 있다. 그러나 사용자가 요청한 것이 php 문서이면 웹 서버는 php 엔진을 호출해서 그 파일에 대한 해석과 처리를 의뢰한 후 그 결과를 html처럼 웹 클라이언트에게 전송한다.

PHP: 다음 글