-
Internet 4. script language학교 수업/인터넷프로그래밍 2020. 5. 14. 18:20
Script Language
- 스크립트 언어: 프로그래밍 언어의 한 종류, 기존에 이미 존재하는 소프트웨어를 제어하기 위한 용도
- 스크립트 언어 종류 : 2가지로 나뉜다.
① 클라이언트 사이드 스크립트 언어(client side script language) : 자바스크립트, VB스크립트
② 서버 사이드 스크립트 언어(server side script language) : JSP, ASP, PHP, Pyhton
웹은 클라이언트가 서버에게 요청한 페이지를 서버에서 잘 가공하여 다시 클라이언트에게 응답하는 구조이다.
여기서 어느 측에서 요청을 처리하느냐에 따라서 클라이언트 사이드 스크립트 언어(Client Side Script Language)와 서버 사이드 스크립트 언어(Server Side Script Language)로 나뉜다. 말 그대로 클라이언트에서 실행되는 스크립트 언어를 클라이언트 사이드 스크립트 언어라고 하고, 서버에서 실행되는 스크립트 언어를 서버 사이드 스크립트 언어라고 한다.
Javascript
- .js확장자
- 동적으로 컨텐츠를 바꾸고, 멀티미디어를 다루는 등을 할 수 있는 스크립트 언어, 웹 브라우저에서 주로 사용
- 현재 컴퓨터나 스마트폰 등에 포함된 대부분의 웹 브라우저에는 자바스크립트 인터프리터가 내장되어 있다.
- HTML로는 웹 내용을 작성하고, CSS로는 웹을 디자인하며, 자바스크립트로는 웹의 동작을 구현
- 자바스크립트의 특징
1) 객체 기반의 언어이다. 하지만 상속과 클래스라는 개념은 없다.
객체(object): 프로그래밍 대상을 속성과 동작으로 묶어서 정의한 자료형
2) 동적이며 타입을 명시할 필요가 없는 인터프리터 언어로서 클라이언트의 웹 브라우저에 의해 해석되고 실행된다.
(C언어와 같은 언어가 소스파일 작성 후 컴파일을 통해 사용자가 실행할 수 있는 실행파일을 만들어 사용하는 반면,
인터프리터 언어는 컴파일 작업을 거치지 않고 소스코드를 바로 실행할 수 있는 언어를 의미)
3) HTML 문서 내에 기술되고, HTML문서와 함께 수행된다.
4) HTML에 연산 제어 등 프로그래밍적인 요소를 추가하고 클라이언트의 자원을 활용할 수 잇게 한다.
- 자바스크립트의 장점 : 컴파일 과정이 없어서 빠른 시간 내에 코드 작성 가능.
웹에 특화되어서 운영체제나 플랫폼 상관없이 잘 작동
- 자바스크립트의 단점: 성능이나 보안. -> 내부에서 제공되는 기능이 제한적이고 개발도구도 적음.
또 HTML소스코드와 함께 작성되면서 소스코드가 외부로 공개되어 보안취약점 발생 가능
- 사용용도 예시
1) 사용자의 입력을 제어하고 싶을 때
2) 웹 브라우저 내의 여러 가지 기능을 조절하고 싶을 때
3) 사용자에게 메시지를 보내고 싶을 때(경고나 확인)
4) 쿠키를 이용한 페이지 간의 data 유지
쿠키(cookie) : 서버가 사용자의 웹브라우저에 전송하는 작은 데이터 조각
5) 동적인 웹사이트 제작(HTML 요소나 스타일 동적 변경)
- 자바스크립트의 위치 : 외부형, <head> 내부형, <body> 내부형, 인라인형
_js
.html_
<
head
><
title
>Page title
</title
><
script
><src=“myscript.js”>
</script
><
script
>Document.write(“head
내부형
자바스크립트
<br>”);
</
script>
</
head
><body>
<script>
Document.write(“body
내부형
자바스크립트
<br>”);
</script>
<p onclick=
“
alert(‘인라인형 스크립트’)”></p></body>
_myscript.js_
Document.write(“
외부
스크립트
<br>”);
- 자바와 자바스크립트는 이름은 유사하지만 전혀 다른 언어이다.
항목
자바스크립트
자바
실행방법
브라우저에 의해 해석됨 (스크립트 언어)
서버에서 컴파일 된 Byte Code를 클라이언트에서 해석됨 (컴파일 언어)
언어성격
Object-Based Language
클래스 미지원
프로토타입 기반 언어
Object-Oriented Language
클래스 지원
상속과 다형성 지원
사용형태
HTML문서 내에 소스코드 기술
(HTML과 결합되어 사용)
HTML문서에 작은 공간을 얻어 수행
(HTML과 별도 존재 가능)
변수형 정의
미리 정의할 필요 없음(동적 Typing)
반드시 미리 정의 해야함
객체 참조 시기
실행 시 객체 참조 검사 (동적 바인딩)
컴파일 시 객체 참조 검사 (정적 바인딩)
보안
Secure(HTML에 같이 수행되므로)
But, 악의적인 목적의 코드 존재가능
Secure
(Local File System에 Write 못하므로)
- 자바스크립트의 라이브러리는 prototype, jQuery, YUI 등.
라이브러리 : 자주 사용되는 로직들을 재활용 가능하도록 만든 로직들의 묶음
제일 많이 사용하는 건 jQuery이다.
jQuery: 자바스크립트 라이브러리
- 기본 문법
$(선택자).동작함수();
-> 달러($) 기호는 제이쿼리를 의미하고, 제이쿼리에 접근할 수 있게 해주는 식별자
선택자를 이용하여 원하는 html 요소를 선택하고, 동작함수를 정의하여 선택된 요소에 원하는 동작설정
예제) 문서 내의 모든 <li>요소를 선택하여 변수에 저장한 후, 해당 변수를 사용하는 예제.
$(function() {
var items = $("li"); // <li>요소를 모두 선택하여 변수 items에 저장함.
$("button").on("click", function() {
$("#len").text("저장된 <li>요소의 총 개수는 " + items.length + "개 입니다.");
});
});
JSP(Java Server Page)
- .jsp확장자
- 자바(java)를 서버환경에서 사용하는 스크립트 방식의 언어
-> HTML 내에 자바코드를 삽입, 보통 <% 자바코드 %> 식으로 사용
- 자바스크립트가 클라이언트의 웹 브라우저 화면에 실행되는 방법이라면, JSP는 서버에서 실행되어 사용자에게 보여주는 방식 즉 jsp에서 작성된 내용은 서버에서 실행되고 그 결과가 웹 브라우저로 전송
- JSP 동작과정 : JSP로 작성된 프로그램은 서버로 요청 시 서블릿(servlet) 파일로 변환되어
JSP태그를 분해하고 추출하여 다시 순수한 HTML로 변환하여 전송된다.
자바 서블릿(Java Servlet)? 자바언어를 기반으로 웹페이지를 동적으로 생성하기 위한 서버측 프로그램이다.
웹 애플리케이션 서버위에서 컴파일되고 동작한다.
웹 애플리케이션? 웹에서 실행되는 응용프로그램을 뜻하며 인터넷을 통한 은행업무, 인터넷 쇼핑 등
인터넷에서 하는 여러 서비스를 총칭
à 동작하기 위한 4가지 구성요소
1. 웹 브라우저: 클라이언트가 요청하고 전달받은 페이지를 볼 수 있는 환경
2. 웹 서버: 클라이언트로부터 요청받아 서버에 저장된 리소스를 클라이언트에게 전달 (Apache)
3. 웹 애플리케이션 서버(WAS): 서버단에서 필요한 기능을 수행하고 그 결과를 웹서버에게 전달
(서블릿이나 JSP의 스크립트를 번역해줌, ex. Tomcat(톰캣))
4. 데이터베이스: 서비스에 필요한 데이터를 보관, 갱신 등 관리
-
'학교 수업 > 인터넷프로그래밍' 카테고리의 다른 글
Internet3. CSS (0) 2020.05.14 Internet2. HTML (0) 2020.05.13 Internet 1.web & URI (0) 2020.05.13