IT 그리고 정보보안/Knowledge base

웹개발 언어에 대한 정리

plummmm 2021. 4. 16. 04:38
반응형

이번에는 웹에서 사용되는 언어들에 대하여 알아보자.

인터넷 사용하다 보면 뭐 이것 저것 많이 들어보긴 했을 거임.

html 이니.. 자바스크립트니.. 전혀 낯선 이름이 아닐꺼라고 생각함.

 

웹페이지는 일단 기본틀이 HTML(Hypertext Markup Language)이다.

HTML은 솔직히 말하면 웹 프로그래밍 언어라고 말하기는 좀 그렇다.

 

 

우리가 보는 웹페이지 그자체가 HTML이니까,

웹서버 내부에서 무슨 언어로 뭐 어떻게 지지고 볶고 씹고 뜯고 맛보고 즐기든~

결국 우리가 웹브라우저를 통해 눈으로 보는 것은 HTML이라는 말씀.

 

그럼 눈에 보이는 HTML로 웹 어플리케이션을 구성하면 되지 왜 다른 언어들을 사용하나???

라는 의문을 가질 수 있다.

당연히, HTML로는 구현에 한계가 있으니 다른 언어를 쓰겠죠. 그쵸

 

아까 말했다 시피, HTML은 그저 웹 브라우져에 페이지를 띄워주는 역할을 하고,

웹 프로그래밍 언어라고 말하기 좀 그렇다고 했다.

맞다. 좀 그렇다.

화면을 보여줄 뿐이지, 프로그래밍적인 로직들, 예를 들어 반복문, 조건문 등의 기능을 구현한다던지

변수를 선언해 대입한다던지.. 이런 기능들을 할 수 없다.

즉, 정적인 웹 서비스밖에 이루어지지 않는다는 것이다.

 

사용자의 입력값에 따라 동적인 서비스를 하는 웹 서비스는 불가능하다.

동적인 웹 서비스를 위해서는 반드시 데이터베이스와의 연동이 필요하다.

값을 저장시키고, 저장 시킨값을 불러오고, 저장된 값을 변경시키는 작업을 해야하기 때문이다. 

 

이런 웹 어플리케이션의 가장 큰 골격인 데이터베이스를 연동할 수 없다는 단점때문에

나온 개념이 CSS(Client Side Script), SSS(Server Side Script) 이다.

HTML과 CSS, SSS 는 함께 웹을 구성하는 동반자(?)라고 볼 수 있다.

 

 

이름 그대로 설명하자면 서버측의 스크립트 언어, 클라이언트 측의 스크립트 언어 인데,

먼저 CSS부터 알아보자.

 

CSS는 클라이언트 측 스크립트 언어로, Java script, VBscript 등이 있다.

주로 자바스크립트를 쓴다. 주로..보단 대부분이;ㅅ;ㅋ

클라이언트 측 스크립트는 클라이언트 즉, 웹 브라우저에서 동작하고, 서버쪽과는 아~무 관련이 없다.

오로지 웹브라우저와 클라이언트 사이에서 동작하는 로직에 대한 코드이다.

자세한 설명은 SSS를 설명한 후 다시 하겠음.

 

SSS, 서버 측 스크립트 언어로 대표적으로 PHP, ASP, JSP 등이 있다.

서버에서 동작하는 스크립트언어이다. 웹 어플리케이션은 이 서버측 스크립트로 작성되어있다.

클라이언트가 볼 수 없고, DB와 연동하여 여러가지 기능이 가능하다.

각 언어들의 차이점은 마지막에 기술하도록 하고, 

먼저 CSS와 SSS의 차이점 부터 적어보겠음. 매우 혼동하기 쉬우므로

 

일단 자바스크립트와 PHP라고 편하게 지칭하겠음.

자바스크립트나 PHP나 둘다 스크립트 언어 즉, 동적인 웹서비스가 가능한 언어들이다.

게시물을 작성한다던지, 입력값에 대한 검증을 한다던지 등등 두 스크립트 모두 가능한 것이다.

 

그럼 도대체 왜 나누어 두었을까? 

간략하게 설명하겠음.

 

1. SSS에서만 DB연동이 가능하다. (Ajax를 이용하여 자바스크립트에서 jsp를 불러와서 연동하는 방법도 있지만 기본적으론 안됨)

2. 서버의 과부하를 막기위해서다. CSS로 할 수 있는 작업을 굳이 SSS에서 할 필요가 없다.

3. CSS는 소스코드가 공개되므로 보안상 중요한 부분은 SSS를 사용하는 것이 맞다.

4. 클라이언트의 작업 이벤트들은(마우스 오버,클릭 등) CSS에서만 관리할 수 있다.

5. 모든 클라이언트에게 동일한 작업을 할 시에는 SSS가 유리하다.

 

이정도만 하면 이해가 가지 싶다. 정확하게 이건 이거다 저건 저거다 나와있는 것들이 아닌,

개발자들이 개발하면서 혹은 웹 관련 공부를 하는 사람들이 몸소 체득하는 내용들이 포함 되있어서 각자의 방식으로 이해하면 된다.

 

가장 중요한건 왜 따로 쓰는지가 아니라, CSS는 어떻게 구동되고, SSS는 어떻게 동작하는지 그걸 알아야 한다.

웹 공부하는 친구들이 가장 많이 멘붕에 빠지는 부분이다.

그럼 각 언어들의 특징을 한번 알아보겠음.

 

* Client Side Script

1. Javascript : 가장 널리 쓰이는 css로, 객체지향 언어이며 대소문자를 구분한다.

2. VBscript : 자바스크립트에 묻혀 잘 쓰진 않음. 주로 ASP와 함께 쓰임. 객체지향언어가 아니라서 활용도가 낮음. VB문법 이용

 

* Server Side Script

1. PHP : Professional Hypertext Preprocessor 의 약자. 주로 Apache, MySQL과 연동하여 (합쳐서 APM이라 부름.)

            사용됨. HTML 처리나 문서처리, 정규표현식 등에 효율적이고, 무료다.

 

2. ASP : Active Server Page의 약자, IIS, MSSQL과 함께 쓰인다. VBscript 기반

 

3. JSP : Java Server Page 의 약자. Tomcat, Oracle과 함께 쓰인다. java를 알아야 쓸 수 있음.

            java 기반이라 플랫폼 독립적.

 

솔직히 더 자세하게 적을 수도 있는데.. 언어의 특징 자체가 중요한게 아니고 코드 해석이 가능해야 한다.

잠도 좀 오고 -_-; 다음 기회 되면 코드 분석에 대해 포스팅 하겟음

반응형

'IT 그리고 정보보안 > Knowledge base' 카테고리의 다른 글

SQL (Structured Query Language)  (0) 2021.04.16
HTTP 쿠키 (Cookie) & 세션 (Session)  (0) 2021.04.16
Base64 Encoding  (0) 2021.04.16
HTML Encoding  (0) 2021.04.16
URL Encoding  (0) 2021.04.15