CHAPTER 14. HTML5 웹스토리지, 파일API, 웹소켓.

Slides:



Advertisements
Similar presentations
Korea Virtual Payment 모바일 안전결제 (ISP) 서비스 모델 - iPhone 한국버추얼페이먼트㈜ 기술연구소
Advertisements

2008 년 11 월 20 일 실습.  실험제목 ◦ 데이터베이스 커넥션 풀  목표 ◦ 데이터베이스 커넥션 풀의 사용.
데이터 완전삭제프로그램 Perfect Delete 사용설명서  주의 이 프로그램을 이용하여 삭제된 데이터는 어떠한 방법으 로도 복구가 불가능합니다. 그러므로 실제 데이터 삭제시 신중을 기하기 바랍니다.
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
컴퓨터와 인터넷.
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
CHAP 22. 블루투스.
CHAPTER 15. JSP.
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
Ch.07-5 xml-rpc 사용하기 김상엽.
ERP 전용 브라우저 설치 매뉴얼 (Windows 7)
PHP입문 Izayoi 김조흔.
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
Chapter05 오디오와 비디오 HTML5 Programming.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
Youn-Hee Han HTML5 - GeoLocation Youn-Hee Han
Chapter 06. UDP 서버/클라이언트.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
명품 웹 프로그래밍.
CHAPTER 13. HTML5 위치정보와 드래그앤 드롭.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
CHAP 12. 리소스와 보안.
Slice&link.
자바응용.
Chapter10 드래그 앤 드롭 & 텍스트 편집 HTML5 Programming.
IPython Notebook + Spark + TensorFlow on MacOS
RMI Messenger 지도 : 김정배 교수님 조봉진.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
LIT-GenAppSetup ※ Texting+ 클라이언트 프로그램은 제품 인증을 받은 제품입니다.
PHP 개요 및 설치 Yang-Sae Moon Department of Computer Science
Chapter13 파일 접근 & 오프라인 접근 HTML5 Programming.
ERP 전용 브라우저 설치 매뉴얼 (Windows 7)
정보화 사회의 실생활 사례 컴퓨터개론 과제 모바일 인터넷과 차성오.
2 보안 1 도구 윈도우 XP > 온밀크 프로그램 설치 장애 (보안 설정) / 품목추가 깨질 때 장애증상
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
명품 웹 프로그래밍.
Nessus 4 설치 정보보호응용 조용준.
8장 쿠키와 세션 한빛미디어(주).
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
클라우드 서버로 부터 값 읽어오기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
웹서버 기능으로 데이터 읽기 및 제어하기 WiFi 시리얼 보드 활용가이드 김영준
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
Cold Spring Harbor Laboratory Press 저널 이용 매뉴얼
Web Storage 인공지능 연구실.
Introduction to JSP & Servlet
암호학 응용 Applied cryptography
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
공인인증로그인 매뉴얼.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
JSP Programming with a Workbook
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
웹과 모바일 홈페이지의 이해와 제작 폰트_레이아웃
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
무선랜 사용자 설명서 (Windows Vista 사용자).
웹에서의 상태 - 변수 발표자 : 지왕태.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
CHAP 15. 데이터 스토리지.
JAVA 프로그래밍 16장 JNLP.
AJAX? Cho Hyun Min.
리더 코딩 스토리 디자인 박찬준 이근영 박동현 박나영
20 XMLHttpRequest.
Presentation transcript:

CHAPTER 14. HTML5 웹스토리지, 파일API, 웹소켓

웹 스토리지 웹스토리지(web storage) 는 클라이언트 컴퓨터에 데이터를 저장하는 메카니즘 웹스토리지는 쿠키보다 안전하고 속도도 빠르다. 약 5MB 정도까지 저장이 가능하다. 데이터는 키/값(key/value)의 쌍으로 저장

localStorage와 sessionStorage 만료 날짜가 없는 데이터를 저장한다. 도메인이 다르면 서로의 로컬 스토리지에 접근할 수 없음. sessionStorage 객체 각 세션(하나의 윈도우)마다 데이터가 별도로 저장 해당 세션이 종료되면 데이터가 사라진다.

localStorage 예제 <!DOCTYPE html> <html> <head></head> <body> <p> 페이지 방문 횟수: <span id="count"> </span>번 </p> <script> if (!localStorage.pageLoadCount) localStorage.pageLoadCount = 0; localStorage.pageLoadCount = parseInt(localStorage.pageLoadCount) + 1; document.getElementById('count').textContent = localStorage.pageLoadCount; </script> </body> </html>

버튼을 클릭한 횟수 저장 <!DOCTYPE html> <html> <head></head> <body> <p> <button onclick="incrementCounter()" type="button">눌러보세요!</button> </p> <div id="target"></div>

버튼을 클릭한 횟수 저장 <script> function incrementCounter() { if (('localStorage' in window) && window['localStorage'] !== null) { if (localStorage.count) { localStorage.count++; } else { localStorage.count = 1; document.getElementById("target").innerHTML = localStorage.count + "번 클릭하였습니다."; "브라우저가 웹스토리지를 지원하지 않습니다."; </script> </body> </html>

sessionStorage 예제 <!DOCTYPE html> <html> <head></head> <body> <p> <button onclick="incrementCounter()" type="button">눌러보세요!</button> </p> <div id="target"></div>

sessionStorage 예제 <script> function incrementCounter() { if (('sessionStorage' in window) && window['sessionStorage'] !== null) { if (sessionStorage.count) { sessionStorage.count++; } else { sessionStorage.count = 1; document.getElementById("target").innerHTML = sessionStorage.count + "번 클릭하였습니다."; "브라우저가 웹스토리지를 지원하지 않습니다."; </script> </body> </html>

파일 API 파일 API: 웹브라우저가 사용자 컴퓨터에 있는 로컬 파일들을 읽어올 수 있도록 해주는 API PC에서 실행되는 일반적인 프로그램처럼 동작(웹 애플리케이션) 파일 API의 가장 전형적인 응용 분야는 아무래도 사용자가 파일을 선택하여서 원격 서버로 전송하는 작업 파일 API에서 사용되는 객체는 File, FileReader File 객체는 로컬 파일 시스템에서 얻어지는 파일 데이터를 나타낸다. FileReader 객체는 이벤트 처리를 통하여 파일의 데이터에 접근하는 메소드들을 제공하는 객체이다.

파일 API 예제 <!DOCTYPE html> <html> <head> <title>HTML File API </title> <script> function readFile() { if (!window.File || !window.FileReader) { alert('File API가 지원되지 않습니다.'); return } var files = document.getElementById('input').files; if (!files.length) { alert('파일을 선택하시오!'); return; var file = files[0]; var reader = new FileReader(); reader.onload = function () { document.getElementById('result').value = reader.result; }; reader.readAsText(file, "euc-kr"); </script>

파일 API 예제 </head> <body> <input type="file" id="input" name="input"> <button id="readfile" onclick="readFile()">파일 읽기</button><br /> <textarea id="result" rows="6" cols="60"> </textarea> </body> </html>

파일 정보 표시 예제 <!DOCTYPE html> <html> <head> <title>HTML File API </title> <script> function readFile() { var files = document.getElementById('input').files; output = ""; for (var i = 0, f; f = files[i]; i++) { output += f.name + "\n"; /* f.name - Filename */ output += f.type + "\n"; /* f.type - File Type */ output += f.size + "bytes\n"; /* f.size - File Size */ output += f.lastModifiedDate + "\n"; /* f.lastModifiedDate */ } document.getElementById('result').value = output; </script> </head> <body> <input type="file" id="input" name="input"> <button id="readfile" onclick="readFile()">파일 읽기</button><br /> <textarea id="result" rows="6" cols="60"> </textarea> </body> </html>

실행 결과 웹브라우저로 실행

애플리케이션 캐시 애플리케이션이 사용하는 파일들을 클라이언트의 캐시(cache)에 저장 애플리케이션 캐시는 다음과 같은 세 가지 장점을 제공한다. 오프 라인 상태일 때도 사용자는 웹 애플리케이션을 사용할 수 있다 캐시된 파일은 더 빨리 로드되어서 그만큼 속도가 빨라진다. 서버 부하가 감소된다.

시계 예제 clock.html <!DOCTYPE HTML> <html manifest="clock.appcache"> <head> <title>Clock</title> <script src="clock.js"></script> <link rel="stylesheet" href="clock.css"> </head> <body> <button onclick="setClock()">시계시작 </button> <br /> <output id="clock"></output> </body> </html> clock.html output { font: 2em sans-serif } clock.js function setClock() { var now = new Date(); document.getElementById('clock').innerHTML = now; setTimeout('setClock()', 1000); }

실행 결과 인터넷 연결이 끊기면 시계는 동작할까요? 웹브라우저로 실행

매니페스트 파일 clock.appcache CACHE MANIFEST clock.html clock.css clock.js

복잡한 매니페스트 파일 CACHE MANIFEST # 2010-06-18:v2 # 반드시 캐시해야할 파일 CACHE: index.html stylesheet.css images/logo.png scripts/main.js # 사용자가 반드시 온라인이어야 하는 리소스 NETWORK: login.php # 만약 main.jsp 가 접근될 수 없으면 static.html로 서비스한다. # 다른 모든 .html파일 대신에 offline.html로 서비스한다. FALLBACK: /main.jsp /static.html *.html /offline.html

웹소켓 웹 소켓(Web Socket)은 웹 애플리케이션을 위한 차세대 양방향 통신 기술 애플리케이션은 HTTP의 답답한 구속에서 벗어나서 TCP/IP가 제공하는 모든 기능을 사용할 수 있다.

예제 <!DOCTYPE HTML> <html> <head> <script> var ws; function open() { if ("WebSocket" in window) { ws = new WebSocket("ws://echo.websocket.org"); ws.onopen = function () { alert("웹소켓 오픈 성공"); }; ws.onmessage = function (evt) { var msg = evt.data; document.getElementById("result").innerHTML = msg; ws.onclose = function () { alert("웹소켓 연결 해제"); } else { alert("웹소켓이 지원되지 않음!");

예제 function send() { ws.send(document.getElementById("data").value); } function quit() { ws.close(); </script> </head> <body> <button onclick="open()">웹소켓 연결</button> <button onclick="quit()">웹소켓 연결 종료</button><br /> <input type="text" id="data" /> <button onclick="send()">데이터송신</button><br /> 에코 서버로부터 받은 데이터: <output id="result"></output> </body> </html>

Q & A