본문 바로가기
PHP/생활코딩

5/22 생활코딩

by SKim입니다 2020. 5. 22.

* 오늘의 진도

 PHP

  서버측 언어를 사용하는 이유

 

6. 서버측 언어를 사용하는 이유

초창기 웹의 모습:

서버에는 웹서버 설치

클라이언트에는 웹클라이언트 설치

→ 웹브라우저와 웹서버가 요청하고 응답하는 단순한 구조였다.

 

PHP, 자바, 파이썬, 펄과 같이

서버측 언어는 없었다.

 

이 과정에서 웹브라우저가 사용자에게 정보를 보여줄 때,

그 정보를 표시하는 정보가 담겨있는 것이 HTML(자원) 문서이다. (편지)

 

이 HTML을 서버와 클라이언트가 주고받기(운송하기) 위한 통신 규약이 HTTP이다.

(중간의 여러가지 절차들, 집주소, 메시지가 어디를 거쳐서 가야하는 건지 등)

 

URI, URL는 HTML과 같은 자원을 식별하는 주소이다.

 

→ HTML, HTTP, URI·URL이 인터넷의 3요소이다.

 (팀버너스리경이 고안)

팀버너스리경이 좀더 편안하고 효율적으로 커뮤니케이션하기 위해서

링크라는 개념을 갖고 있는 하이퍼텍스트를 개발했다.

 

HTML: HyperText Markup Language

HTTP: HyperText Transfer Protocol

  HyperText는 HTML이라고 생각하면 된다.

  ∴ HTML을 이동시킬 때 사용하는 통신 규약

 

 

 

초창기에는 적은 수의 사람들이 웹을 사용했기 때문에,

이러한 단순한 구조로도 서비스를 하는데 큰 문제가 없었다.

 

그러나 인터넷이 폭발적인 성장을 하면서 여러가지 문제가 발생하기 시작했다.

ex) 10개의 웹페이지를 가지고 있는 웹사이트가 있다고 하자.

 그 웹사이트가 성장하면서 아주 많은 사람들이 보게 되고,

 그 사이트에 방문한 사람이 직접 메시지를 작성해서

 그것을 사이트에 전송해서 다른 사람들이 열람할 수 있게 하려고 하니까

 이런 것들을 웹서버만으로는 처리할 수 없게 되었다.

 

 

그래서 고안된 방법이 바로 CGI(Common Gateway Interface)이다.

CGI: 웹서버와 서버측 언어들 사이에 커뮤니케이션하기 위해서 표준화된 규약

cf) HTML: 웹브라우저와 웹서버가 서로 데이터를 주고받기 위한 통신 규약

 

서버측 언어들(PHP, 자바, 파이썬, 펄, C, C++ 등)은 웹서버 아래에 위치하고, 웹서버와 연결된다.

☆ 서버측 언어들은 웹브라우저와는 어떠한 연결점도 존재하지 않고,

 항상 웹서버를 통해서만 존재한다.

 

역할:

웹서버가 웹브라우자에 요청한 자원이 HTML이 아니라면,

웹서버는 자기가 그것을 처리할 수 없기 때문에

그것을 처리할 수 있는 언어(PHP, 자바, 파이썬 등)의 엔진을 호출하여 처리를 위임한다.

 

그러면 그 언어들이 파일을 읽어서 각각의 언어에 해당되는 코드를 해석한 후

그 결과를 CGI의 방식대로 웹서버에게 돌려준다.

 

그러면 웹서버들을 그것들을 마치 자기 컴퓨터에 있는 정적인 HTML 파일을 돌려주는 것과 같은 방식으로

웹브라우저에게 전송한다.

 

그러면 웹브라우저는 PHP, 자바, 파이썬 등을 해석하는 것이 아니라,

HTML 문서를 해석하는 것과 똑같은 방식으로 웹페이지를 표시할 수 있게 된다.

 

 

DB라는 것이 있다. - MySQL, 오라클 등

DB는 데이터(정보)를 저장하는 것에 특화되어 있는 시스템이다.

 

데이터(블로그 포스팅의 제목, 본문, 댓글 등)들이 DB에 저장되어 있다가,

(사용자가 어떤 웹페이지를 요청하게 되면,

웹서버는 그것을 처리할 수 있는 언어에게 위임을 하게 되는데)

 

이 때, DB에 있는 데이터(제목, 본문, 댓글 등)를 사용하는 코드가 들어있다면

서버측 언어들이 DB에 접속해서 해당 정보를 가져와서 HTML 문서로 만든 후에

그것을 웹서버로 돌려주고, 웹서버는 그것을 웹브라우저에 전송하게 된다.

 

 

즉, 개발자 입장에서는 파일을 하나만 만들면 된다.

그리고 그 파일 하나의 구현 방식, 구성, 디자인 등을 바꾸게 되면,

모든 정보들의 그것이 일제히 반영된다.

 

또 사용자가 게시판에 어떤 정보를 입력해서 저장했을 때,

그것이 화면에 게시되도록 하고싶다면,

그것은 웹서버만으로는 할 수 없다.

 

그렇기 때문에 우리가 PHP라는 것을 사용하는 것이고,

PHP와 같은 서버측 스크립트가 있기 때문에

웹페이지를 보여주기 위한 단 하나의 PHP 페이지(= PHP 앱)만 만들면

이 url로 접근하는 주소에 따라서 다른 정보를 보여줄 수 있다.

'PHP > 생활코딩' 카테고리의 다른 글

5/23 생활코딩  (0) 2020.05.23
5/22(2) 생활코딩  (0) 2020.05.22
5/21(4) 생활코딩  (0) 2020.05.21
5/21(3) 생활코딩  (0) 2020.05.21
5/21(2) 생활코딩  (0) 2020.05.21

댓글