chapter01. 인터페이스 기능 구현
(1) 인터페이스 기능 구현 기술
ㄱ. JSON(Javascript Object Notation)
- JSON의 개념
JSON은 속성-값(Attribute-Value Pair)쌍 또는 키-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷
- JSON의 특징
AJAX(Asynchronous JavaScript and XML)에서 많이 사용되고 XML(eXtensible Markup Language)을 대체하는 주요 데이터 포맷
언어 독립형 데이터 포맷으로 다양한 데이터 프로그래밍 언어에서 사용됨
사람이 읽고 쓰기에 용이하며 기계가 분석하고 생성하기에 용이
- JSON 표현 자료형
선형 구조: 데이터를 연속적으로 연결한 자료 구조, 리스트/스택/큐/데크
문자열(String): 항상 큰 따옴표(" ")로 묶어야 하며 그 안에는 유니코드 문자들이 나열
배열(Array): 대괄호로 표시
객체(Object): 이름/값 쌍의 집합으로 중괄호{} 사용
- JSON 문법
name/value 쌍으로 구성
{로 시작하고 }로 끝남
배열은 대괄호[]로 나타냄
ㄴ. XML
- XML(eXtensible Markup Langauge)의 개념
HTML의 단점을 보완한 인터넷 언어. SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어
- XML의 특징
XML은 송-수신 시스템 간 데이터 연계의 편의성을 위해서 전송되는 데이터 구조를 동일한 형태로 정의
텍스트 형태로 마크업 포맷을 정의하기 위한 메타언어
사용자가 직접 문서의 태그를 정의할 수 있으며 다른 사용자가 정의한 태그를 사용할 수 있음
ㄷ. AJAX(Asynchronous Javascript And XML)
- AJAX의 개념
자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술
브라우저의 XMLHttpRequest 객체를 사용하여 일부 데이터만 가져오는 방법
- AJAX의 주요 기술
XMLHttpRequest: 웹 브라우저에서 서버와 데이터를 주고받기 위해 사용하는 객체
JavaScript: 객체 기반의 스크립트 프로그래밍 언어
XML(Extensible Markup Language): HTML의 단점을 보완한 인터넷 언어
DOM(Document Object Model): XML 문서를 트리 구조의 형태로 접근할 수 있게 해주는 API
XSLT(Extensible Stylesheet Language Transformation): XML 문서를 다른 XML 문서로 변환하는 데 사용하는 XML 기반 언어
HTML(HyperText Markup Language): 인터넷 웹(WWW) 문서를 표현하는 표준화된 마크업 언어
CSS(Cascading Style Sheets): 마크업 언어가 실제 표시되는 방법을 기술하는 언어
- AJAX의 동작 원리
a. 사용자에 의해 요청 이벤트 발생
b. 요청 이벤트가 발생하면 이벤트 핸들러에 의해 자바스크립트 호출
c. 자바스크립트는 XMLHttpRequest 객체를 사용하여 서버로 요청하고 웹 브라우저는 응답을 기다릴 필요 없이 다른 작업 처리 가능
d. 서버는 전달받은 XMLHttpRequest 객체를 가지고 AJAX 요청을 처리
e. 서버는 처리한 결과를 HTML, XML, JSON 형태의 데이터로 웹 브라우저에 전달
f. 서버로 전달받은 데이터를 가지고 웹 페이지의 일부분만을 갱신하는 자바스크립트를 호출
g. 결과적으로 웹페이지의 일부분만이 다시 로딩되어서 표시
ㄹ. REST
- REST(Representational State Transfer)의 개념
웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP 메서드로 주고받는 웹 아키텍처
*분산 하이퍼 미디어 환경: 네트워크를 통해 분산된 시스템에서 다양한 미디어가 연결되어 있어서 필요한 리소스를 하이퍼링크로 접근할 수 있는 환경
- REST의 기본 형태
리소스(자원), 메서드(처리), 메시지 3가지 요소로 구성된다
행위에 대한 메서드
REST는 행위에 대한 메서드를 HTTP 메서드 중 CRUD에 해당하는 4가지 메서드만 사용됨
REST 메서드
POST(생성), GET(조회), PUT(수정), DELETE(삭제)
REST 리소스
모든 것을 리소스로 표현하며 각 세부 리소스에는 id를 붙임