웹 스토리지 (web storage)는 서버가 아닌, 클라이언트에 데이터를 저장할 수 있도록 지원하는 HTML5의 새로운 기능
크기 제한
Cookie는 하나의 사이트에 저장할 수 있는 크기가 제한되어 있음(4KB). Web Storage는 5MB(크롬, 사파리, 파이어폭스, 오페라,인터넷 익스플로러(10MB)
서버로 자료 전송
Cookie는 HTTP 요청에 자동으로 포함되어 서버로 전송. Web Storage는 서버로 데이터 전송하지 않음
유효 기간
Cookie는 유효 시간이 경과하면 자동으로 삭제되지만 Web Storage는 삭제되지 않음
객체 저장
Cookie와는 다르게 Web Storage에는 javascript 객체를 저장할 수 있음
세션 스토리지와 달리 로컬 스토리지를 이용하면 브라우저를 통해 사용자의 컴퓨터에데이터를 지속적으로 저장할 수 있다.
나중에 사용자가 다시 사이트를 방문했을 때 로컬 스토리지에 저장된 모든 데이터를 다시 이용할 수 있다.
localStorage.setItem('name',first_value); 또는
localStorage.name = first_value;
var name = localStorage.getItem('name'); 또는
var name = localStorage.name;
하나의 창이나 탭에 한정된 데이터를 보관할 수 있다.
사용자가 같은 사이트를 두 개의 창에서 접속하고 있더라도, 각 창은 자체적인 개별 세션 스토리지 객체를 가지며, 따라서 데이터를 별도로 유지하게 된다. 특정 사이트 접속해서 사용자 세션이 지속되는 동안만 세션 스토리지도 지속된다.
sessionStorage.setItem('name',first_value); 또는
sessionStorage.name = first_value;
var name = sessionStorage.getItem('name'); 또는
var name = sessionStorage.name;
프로그램이 실행되는 동안 문제가 발생하면 프로그램 자동 중단되는데 사전에 문제 발생을 예상해서 프로그램이 안전하게 종료되도록 처리함
try {
//예외 발생 가능 문장
} catch (exception) {
//예외가 발생했을 때 실행될 문장
}
finally 구문의 사용은 필수 사항은 아님
예외 발생 여부와 상관없이 수행돼야 하는 작업이 있을 때 사용
try {
//예외 발생 가능 문장
} catch (exception) {
//예외가 발생했을 때 실행될 문장
}finally{
//예외가 발생하건 발생하지 않건 꼭 수행해야 할 문장
}
try {
} catch (exception) { //예외가 발생 예외에 관한 정보를 담는 예외 객체가 생성되고
//catch의 인자로 전달받아 예외 정보를 출력할 수 있음
}
예제
throw '예외 강제 발생';
try {
var result = 10/0;
if(result == 'Infinity'){
throw 'DivideByZeroException';
}
alert(result);
} catch (exception) {
alert(exception);
}