서버 측 스크립트 / 클라이언트 측 스크립트 -php와 Javascript비교

SaGo_MunGcci·2022년 7월 3일
0

이미지 출처 : https://geekmusthave.com/?p=6422

1.웹 페이지 프로그래밍 언어?

웹 페이지 프로그래밍 언어에 대해 간단하게 알아보자.

웹 페이지 프로그래밍 언어에는 JavaScript와 PHP 등이 있다. JavaScript는 클라이언트 측 스크립트이고, PHP는 서버 측 스크립트라고 생각하면 된다.

웹 브라우저는 서버에서 내려받은 내용을 사용자(클라이언트)에게 보여주는 역할을 한다.

HTML 코드로 작성한 웹 페이지는 텍스트 & 이미지 등으로 레이아웃이 고정된 페이지이다. 즉, 정적인 웹페이지이다. 반면에, 자바스크립트와 PHP는 동적으로 웹페이지를 만들어주는 역할을 한다.

장바구니처럼 사용자 조작에 따라 화면이 바뀌는 동적인 웹페이지(상품변경,추가 ,삭제가 가능한 웹페이지)를 만들려면 웹페이지에 프로그래밍을 코딩해줘야 한다.
--> 예를들어사용자가 상품 변경시 상품변경을 한다고 서버에 요청을 하면 서버가 변경된 상품을 적용해서 다시 클라이언트에 html을 보내 주는것이다.

동적이라는 것은 페이지에서 움직이는 것을 말하며, 정적이라는 것은 움직이지 않고 고정되어있는 것을 말한다.

-->정적 웹페이지 :
-옛날 90~00년초에 단순히 정보를 전달하는 게시판 같은 웹페이지. 서버에서 html을 게시하는 의미가 크다.(이후 css, js순으로 등장하고 발전함.) 전세계 사용자들이 위치에 상관없이 이미지와 텍스트를 공유하는 것에 의의를 뒀다고 생각함.

-->동적 웹페이지 :
-사용자가 상품 추가시 그에 맞는 상품이 추가 되거나 추가된 상품의 가격으로 사용자가 결제할 총가격이 변했을때 마치 움직인다고 표현함.

사실 위에서 말했듯이 웹 서버는 서버 자신이 보유 혹은 저장하고 있는 정적 파일 즉 이미지, HTML문서를 보내기 위한 프로그램이다. 서버가 요청하면 그에 해당하는 보유한 HTML파일을 그냥 주는게 서버의 일이다. 서버 자체가 뭔가 HTML의 내용을 계산하거나 이미지 처리를 할 수 없다.

그렇기에 동적으로 바뀌는 내용(예를 들어, 게시판 글 목록)이 전달이 되려면 웹서버 자체로는 해결이 어렵다. 이를 해결하기 위한 것이 외부 프로그램을 불러서 그 프로그램의 결과를 대신 전달해주는 방법을 만든 것이다. 이 때 외부 프로그램을 부를 때 규칙을 정해서 전달하게 하면 외부 프로그램을 작성/사용할 때 편할 것이다.

이 규칙을 CGI(Common Gateway Interface)라고 한다. 이 규칙을 지키지 않고서는 절대로 웹 서버에서 호출을 받거나 웹서버로 결과를 전달할 때 기대했던 결과를 얻지 못한다.(이런게 있다고 한다. 나중에 공부해보기)

2.PHP란?

PHP는 서버 측 스크립트이다.(서버에 설치되는 외부 프로그램)

PHP 프로그램은 내려받기 전에 웹 서버에서 실행된다.

--> 즉 애초에 html에 php코드가 포함된 확장자명이 .php로 클라이언트가 요청을 하면 서버에서는 이 클라이언트가 요청한 .php에 클라이언트가 요청한 부분(이부분이 php코드임.)을 서버가 해석하지 않고 php라는 위에서 말한 서버에 설치된 외부프로그램에 외주를 준다.
클라이언트가 볼때는 서버에서 해석한다고 보임.

웹 브라우저가 응답받은 데이터는 php코드가 실행된 HTML이다.
--> 서버에서 사용자가 요청한 것을 php 코드로 해석한 결과물이다.

따라서 내려받은 HTML 코드에는 PHP 프로그램 결과가 포함된다.
그리고 PHP는 MySQL과 연동으로 사용하기에 주로 블로그,SNS,쇼핑몰,일정관리등을 만들때 많이 이용합니다.

PHP와 자바스크립트의 차이점

* PHP (서버 측 스크립트)

PHP는 서버 측 스크립트이다.
PHP를 내려받기 전에 웹서버에서 실행이 먼저 된다.

  • 장점
  1. 프로그램 코드가 보여지지 않기에 자바스크립트에 비해 보안성이 뛰어나다.
  2. 웹 브라우저의 버전과 종류에 영향을 받지않는다.
  • 단점
  1. 실시간으로 처리하는 경우 적합하지 않다.

3.자바스크립트 (클라이언트 측 스크립트)

클라이언트가 웹페이지 주소로 접속하면(웹페이지 주소에 해당하는 정보를 요청하면)서버는 자바스크립트 코드는 해석하지 않고 클라이언트의 웹브라우저로 html을 보낸다.(요청한 정보에 응답)

그러면 웹브라우저는 받은 웹페이지 화면html 중 자바스크립트가 있으면
1) 클라이언트 컴퓨터에 있는 웹브라우저의 자바스크립트엔진이 스크립트를 읽는다.
2)스크립트를 기계어로 변환한다.
3) 코드를 실시간으로 실행한다. --> Ajax

  • 장점
  1. 웹 브라우저에서 하는 조작에 바로 대응할수있다.
  2. 애니메이션과 같은 마우스에서 움직이면 바로 상호작용하는 것들을 적용할수있다.
  • 단점
  1. 프로그램 코드가 쉽게 읽히기에 보안에 취약하다.
  2. 웹 브라우저의 버전과 종류에 따라 실행이 불가할수도있다.

참고자료![]
: https://choseongho93.tistory.com/61

profile
이리저리 생각만 많은 사고뭉치입니다.

0개의 댓글