Script란?
스크립트란 대본이라고 생각할 수 있습니다. 대본이란 뭘까요? 특정 누군가가 어떤 환경에서 어떻게 행동하라는 일종의 지침이고 가이드라고 할 수 있겠죠? 가장 쉬운 예로는 연극의 대본을 생각해 볼 수 있습니다. 연극에서 어떤 상황이 주어지고 배우는 그 상황에서 어떻게 행동하고 뭐라고 말하고 하는 등이 적혀있는 것이 연극대본입니다. 컴퓨터에서의 스크립트도 마찬가지입니다. 역할이 배정되기도 하고, 행동이나 대사가 적혀있기도 합니다. 컴퓨터는 스크립트를 해석하고 해석한 내용대로 행동합니다. 하지만 배우가 받는 스크립트와 조명감독이나 카메라 감독이 받는 스크립트는 차이가 있을 수 있겠죠? 그런 식으로 Client Side Script와 Server Side Script의 차이점을 생각해 볼 수 있습니다. 둘이 어떤 차이가 있는지 한번 알아보겠습니다.
Client Side Script
클라이언트 사이드 스크립트란 사용자측에서 해석해야 하는 스크립트입니다. 사용자의 브라우저가 해석하는 역할을 맡고, 해석 후에 결과물을 보이는 것도 합니다. 이 클라이언트 사이드 스크립트 언어로는 HTML, CSS와 Javascript 등이 있습니다. 우리가 주로 프런트엔드에서 배우고 사용하는 언어들이 이에 속한다고 볼 수 있습니다.
Server Side Script
서버 사이드 스크립트란 서버에서 해석하는 스크립트입니다. 서버가 어떤 WAS를 운영하고 있느냐에 따라서 사용되는 언어가 결정됩니다. 사용되는 언어로는 PHP, asp, jsp, python, nodejs 등이 있을 수 있습니다. 사용되는 프레임워크 등에 따라서 결정됩니다. 백엔드 개발에 익숙한 사람들이라면 서버에서 어떤 언어를 쓰고 있는지 충분히 유추할 수 있습니다. 백엔드에서 사용하는 언어가 바로 이 서버 사이드 스크립트에 속하는 언어들이라고 볼 수 있습니다.
공통점
스크립트라는 것은 해석을 하고 실행되는 프로그래밍 언어입니다. html이나 css의 경우 프로그래밍을 한다는 느낌이 부족하기는 하지만 해석이 된다는 점에는 그래도 코딩의 영역이라고 볼 수 있습니다. 또한, 일반적으로 스크립트는 인터프레터(interpreter)를 통해서 줄단위로 해석되고 실행되며 이는 컴파일러를 쓰는 언어와 가지는 큰 차이점입니다. 클라이언트 사이드 언어인 자바스크립트와 서버 사이드 언어인 php는 둘 다 기본적인 프로그래밍 기능을 가진 프로그래밍 언어라는 점에서도 공통점을 가지고 있습니다.
차이점
이 둘의 가장 큰 차이점은 실행되고 해석되는 위치가 다르다는 것이고, 언어가 생겨난 목적 등이 다르다는 것입니다. 둘 다 프로그래밍 언어로써 여러가지 연산이 가능 하지만, 기본적으로 제공하려고 하는 기능이나 목적이 다르다 보니 사소하거나 중요한 부분에서 차이점이 있을 수 있습니다. 예를 들어 자바스크립트를 통해서 브라우저의 html요소를 조작하는 것은 할 수 있지만, php에서는 기본적으로 제공하지 않으며 브라우저에서 해석되는 기능을 제공하지 않습니다. 반면, php에서는 DB를 연결하는 함수와 기능을 제공하지만, 자바스크립트에서는 그렇지 않은 것도 서로의 역할이 다르다는 것을 알 수 있게 해 줍니다. 물론, 아주 불가능한 것은 아니지만, 굳이 서버에서 자바스크립트를 쓰지 않고, 브라우저에서 php를 쓰지 않습니다.
'💻Information Security' 카테고리의 다른 글
aka.ms/alca 해킹 공격 시나리오 (1) | 2024.02.11 |
---|---|
파일 업로드 공격에 대해 (0) | 2024.02.09 |
SFTP 연결 : Visual Studio Code에서 작업한 내용 웹 서버로 옮기기 (1) | 2024.02.05 |
Panda Web Application 제작 기록(DevLog) (0) | 2024.02.05 |
Segfault Web Server VM 설치 및 실행법 (0) | 2024.02.04 |