[스크랩] JSP와 JAVASCRIPT와 JAVA와 PHP의 차이점 스크랩

아는 분이 자꾸 '자바스크립트' 를 '자바' 라고 불러서 개념을 정리해 보았습니다.
==================================

출처: http://scvjava.tistory.com/m/post/3

웹 프로그래밍 언어는─나름대로 나누자면─ 두 가지 종류가 있습니다.

하나는 서버에서 실행되는 언어와, 브라우져 상에서 실행되는 언어가 있는데요.

전자와 같은 경우에는 서버에서 그 언어를 인식하여, 후자의 언어로 바꾸어 줍니다.

즉, 이에 속하는 PHP와 같은 언어에서는, 만약

〈?printf("〈HTML〉\n〈BODY〉\nHAHA\n〈/BODY〉\n〈/HTML〉");?〉

라는 코드가 있다고 가정하고서 이 소스를 서버상에서 번역하여

〈HTML〉
〈BODY〉
HAHA
〈/BODY〉
〈/HTML〉

이라는 HTML 코드로 바뀌어 브라우져상에서 실행되게 되죠.

즉, 이러한 종류의 언어와 같은 경우에는 브라우져상에서 어떠한 뻘짓을 해도,

(해킹기술이 있다면 모르지만) 원본 PHP소스를 알아내는 것은 거의 불가능합니다.

님이 말한 JSP와 같은 언어도 이에 속합니다.

서버에서 실행됨으로써 가질 수 있는 이점은,

서버의 데이타베이스와 파일들을 사용할 수 있으며, 이로써 쿠키나 세션관리도 가능해 집니다.

(쿠키나 세션은, 로그인을 하였을 때 현재 유저의 ID를 저장해 두는 곳이라 생각해 두면 됩니다.)

또한, 소스의 보안과 같은 이점도 얻을 수 있겠죠.


이제, 후자의 경우인 브라우져에서 실행되는 언어를 살펴봅시다.

여기에는 HTML이 들어가는데요, 이 언어는 브라우져상에서 이 언어를 해석하여 화면에 뿌려줍니다.

그러나 HTML로는 그저 테이블이나, 문자열, 그림 등등을 출력하기만 하고, 유동적이지 못하죠.

그리하여 나온 언어가 JAVA SCRIPT입니다.

JAVA SCRIPT에서는 메세지 출력, HTML 개체의 움직임, 심지어는 유니코드 분석까지 가능합니다 -_-;

요즘도 그러는 지는 모르지만- 웹상에서 마우스 뒤에 꽃잎이 따라다닌다거나, 십자 표시가 새겨진다거나 하는 것은 모두 JAVA SCRIPT라고 보면 됩니다.

이 JAVA SCRIPT 또한 브라우져에서 실행됩니다.

이와 같은 언어들이 갖는 장점은,

서버가 없어도 실행이 가능하다는 것입니다.

JSP나 PHP를 돌리려면, 이들 언어를 번역할 서버가 필요하죠.

하지만 JAVA SCRIPT나 HTML과 같은 언어는 그 자체가 브라우져에서 쉽게 해석될 수 있기 때문에, 그저 파일로 지정해 놓고 브라우져에서 열어도 아무 상관이 없습니다.


자, 마지막 하나 남은 언어, JAVA가 있죠?

이건 위에서 나열한 언어와는 차원이 다른 언어입니다.

위의 언어는 웹 브라우져에 기대어, (또는 웹 브라우져를 위해) 실행되는 언어입니다.

하지만, JAVA는 하나의 어플리케이션을 만드는 언어입니다.

PHP가 웹 브라우져상에서 돌아가는 프로그램을 만드는 언어라면,

JAVA는 웹 브라우져를 만드는 언어라고 볼 수 있습니다.

이 언어는 C, Basic (요즘은 둘 다 Visual이 붙어서 나옵니다만)와 한통속 언어입니다.

덧글

  • 헤지혹 2015/06/27 13:22 # 답글

    ...자바는 크로스플랫폼을 위한 언어 아니던가요 -ㅁ-? 최초 개발시에 그런 취지로 만들던 언어였고 2000년대 후에서야 빛본 걸로 알고 있는데...
  • 희망의빛™ 2015/06/27 13:47 #

    네 자바는 자바버추얼 머신 위에서 돌아가는 플랫폼 호환성이 뛰어난 언어이기도 하지요. 다만 버추얼 머신이란 미들웨어 때문에 속도가 떨어진다는 지적을 계속적으로 받아왔던 언어이기도 하구요. 덧글 감사드립니다. ^^;
  • Hide_D 2015/06/27 14:23 # 답글

    무슨 10년전에나 유효할 정보가 적힌 글을, 거기다가 잘못된 이야기를 퍼옵니까...
    뭐가 옳고, 뭐가 잘못된 정보인지는 스스로 구분합시다. 쫌!
    어떻게 들고왔길래 맞는 말이 기초적인 레벨 빼곤 없는 이야기를 들고 왔나 몰라..

    먼저 JSP가 뭐의 약자인지 모르시는지, 잊고 있는지 모르겠는데, 'Java' Server Page입니다. Java라고요 ㅡㅡ
    Server-Side script로써든, 뭐든 간에 JSP, Java와 비슷한 놈을 따지려면 ASP.net, C#과 비교하는 것이 맞고...
    JavaScript는 클라이언트뿐만 아니라 서버단에서도 활발하게 쓰이고 있으니, (Node.js) 옛날 이야기고

    거기다가 클라이언트 단에선 Flash, Sliverlight와 비슷한 형식으로 동작하는 경우도 있으니,
    웹의 활용에서 보자면 "웹 브라우저를 만드는 언어"라고 정의하기엔 부족하죠.

    그리고 C와 Basic을 '한 통속'이라고 묶으려면 대체 어느 레벨에서 묶어야되는지도 잘 모르겠고..
    앱 만드는 언어로 치더라도, 요새는 '웹 앱', '하이브리드 앱' 때문에 무의미한 구분이네요.

    그외에 이상한 부분들 다 지적하기엔 글 새로쓰는거랑 차이가 없을테니 이정도만.

    총평 : 유통기한 지난 자료. 상한지 오래 됨.

    의견이 이렇고 저렇고는 얼마든 싸질러도 상관이 없는데,
    잘못된 정보를 퍼뜨려서 인터넷 쓰레기를 양산하진 마시기 바랍니다.
  • 희망의빛™ 2015/06/27 14:52 #

    Node.js 저도 이야기 들어봤습니다. 자바스크립트 기술이 발전한 서버사이드 기술이죠. 그래도 본문 스크랩 문서가 쓰레기일 정도로 역사적 기술 발전 단계를 무시한 문서는 아닌듯 보이네요. 원래 자바스크립트는 클라이언트에서 기술하는 언어였고 note.js 는 자바스크립트의 서버사이드 버전이자 신기술인 셈이죠. Hide_D님 혼자서만 알고 있는 기술이 아니랍니다. 물론 node.js 코딩을 한적은 없습니다만... ^^;

    그리고 제가 알기론 node.js는 기존의 서버스크립트가 처리하기 곤란한 비동기 방식의 특수한 목적의 웹데이터 처리 언어라고 알고 있습니다.
  • Hide_D 2015/06/27 14:51 #

    아니 그걸 들어봤을 정도면, 저 글은 올리지 않는게 낫다고 생각 안하시나요??
    전혀 도움이 안되잖아요.
  • 디베스테이터 2015/06/27 17:53 #

    들어봤을 리가 있겠습니까. 글 쓰는 걸 보면, 자기가 몰랐던 걸 남이 지적하면 뒤늦게 찾아보고 아는 척 하는 식으로 회피하는 게 다 보여서 한심하기 그지없을 따름이죠.
  • 루루카 2015/06/27 18:37 #

    JavaScript 책 한 번이라도 펼쳐봤으면, Server Side 이야기를 모를 수 없을텐데...

    포스팅(원본을 그대로 긁어놓은 포스팅이니)을 읽어보고,
    이건 틀린 설명 찾는 것보다 멀쩡한 개념 찾는게 더 효율적이겠다 싶어서 포기해버렸는데...
    그래도 친절하게 설명을 적어주셨군요?
  • 루루카 2015/06/27 18:38 #

    아...

    단지... JAVA와 JavaScript가 서로 완전 다른 언어라는 걸 알리고 싶었던 기획의도(?)만은 높이 사고 싶네요.
    (내용이 못 따라줬을 뿐...)

    실제로 그 둘을 같은걸로 아는 경우를 왕왕 보게 돼서...
  • 은이 2015/06/27 19:10 # 답글

    Server-Side, Client-Side 라는 보편적으로 쓰는 용어가 있는데 그걸 안쓰고 이렇게 열심히, 요점만 빼고 설명하는것도 힘들 듯..
    JAVA나 JavaScript 관련 책자나 튜토리얼의 맨 처음 소개 란에서 언어의 특징과 차이점을 논할 때면 항상 등장하는 단어들입니다.
    .. 뭐라 할 말이 없슴 ..
  • 달세뇨 2015/06/29 17:50 # 답글

    잠깐이라도 약간의 기대를 한 제 잘못이죠. 어휴
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.


웹로그 검색