'IT 프로그래밍/IT용어'에 해당되는 글 3건

  1. 2014.01.25 SessionStorage 와 LocalStorage 차이점 1
  2. 2014.01.25 HTML 쿠키 COOKIE 기초 정리
  3. 2014.01.25 LDAP 정의 및 설명
IT 프로그래밍/IT용어2014. 1. 25. 03:30

WEB STORAGE

 

WEB STORAGE?

HTML5 에는 웹 사이트의 데이터를 클라이언트에 저장할 수 있는 새로운 자료구조인 Web Storage 스펙이 포함되어있습니다. Web Storage의 개념은 키/값 쌍으로 데이터를 저장하고 키를 기반으로 데이터를 조회하는 패턴입니다그리고 영구저장소(LocalStorage)와 임시저장소(SessionStorage)를 따로 두어 데이터의 지속성을 구분할 수 있어 응용 환경에 맞는 선택이 가능합니다. Web Storage는 기존 웹 환경의 쿠키(Cookie)와 매우 유사한 개념입니다사실 거의 차이가 없어보일지라도 몇 가지 쿠키의 단점을 극복하는 개선점이 도입되었습니다.

쿠키는 여전히 유효하고 꽤 적절한 클라이언트 저장도구 입니다. HTML5 에서 Web Storage 스펙을 새로 추가했지만 쿠키를 배제하는 것은 아닙니다. HTML5 에서도 여전히 쿠키를 이용할 수 있습니다.

 

Web Storage 차이점

쿠키는 매번 서버로 전송된다.

웹 사이트에서 쿠키를 설정하면 이후 모든 웹 요청은 쿠키정보를 포함하여 서버로 전송됩니다. Web Storage 는 저장된 데이터가 클라이언트에 존재할 뿐 서버로 전송은 이루어지지 않습니다이것은 네트워크 트래픽 비용을 줄여 준다는 주요한 장점이 됩니다.

 

단순 문자열을 넘어(스크립트객체정보를 저장할 수 있다.

문자열 기반 데이터 이외에 체계적으로 구조화된 객체를 저장할 수 있다는 것은 개발 편의성을 제공해 주는 주요한 장점이 됩니다브라우저의 지원 여부를 확인해 봐야 하는 항목입니다.

 

용량의 제한이 없다

쿠키는 개수와 용량에 있어 제한을 걸어 두고 있습니다하나의 사이트에서 저장할 수 있는 최대 쿠키 수는 20개 입니다그리고 하나의 사이트에서 저장할 수 있는 최대쿠키 크기는 4KB 로 제한되어 있습니다. Web Storage 는 이러한 제한이 없습니다그러나 쿠키도하위키를 이용하면 이러한 제한을 일부 해소할 수 있습니다그리고 대부분의 시나리오에서 쿠키의 제한으로 까지 데이터를 저장할 일이 없습니다.

 

영구 데이터 저장이 가능하다

쿠키는 만료일자를 지정하게 되어 있어 언젠가 제거됩니다만료일자로 지정된 날짜에 쿠키는 제거되는 것입니다.(만료일자를 지정하지 않으면 세션 쿠키가 됩니다만일 영구 쿠키를 원한다면 만료일자를 굉장히 멀게 설정하여 해결할 수 있습니다.

 

WebStorage는 만료기간의 설정이 없습니다즉 한번 저장한 데이터는 영구적으로 존재하는 것입니다이것이 쿠키와의 차이점입니다. WebStorage와 쿠키의 차이점에 대해서 WebStorage가 특별히 좋은 이유는 없다고 봐도 무방합니다다만 한가지 매번 서버로 전송되지 않는다는 특징은 꽤나 유용해 보입니다.

LocalStorage SessionStorage

 

Web Storage는 데이터의 지속성과 관련하여 두 가지 용도의 저장소를 제공합니다.

우선 기본적으로 Web Storage는 쿠키와 마찬가지로 사이트의 도메인 단위로 접근이 제한됩니다다시 말해 A 도메인에서 저장한 데이터는 B도메인에서 조회할 수 없다는 것입니다이것은 데이터의 보안적 측면에서 당연한 원칙이라 하겠습니다.

 

LocalStorage

LocalStorage 저장한 데이터를 (명시적으로지우지 않는 이상 영구적으로 보관이 가능합니다앞서 말한대로 도메인마다 별도로 로컬 스토로지가 생성됩니다. Windows 전역 객체의 LocalStorage 라는 컬렉션을 통해 저장/조회가 이루어집니다.

 

SessionStorage

SessionStorage는 데이터의 지속성과 액세스 범위에 특수한 제한이 존재합니다. SessionStorage windows 전역 객체의 sessionStorage라는 컬렉션을 통해 저장/조회가 이루어집니다.

 

데이터 유지 측면

SessionStorage는 데이터가 지속적으로 보관되지 않습니다이는 마치 브라우저 기반 세션 쿠키와 그 성질이 비슷한데현재 페이지가 브라우징 되고 있는 브라우저 큰텍스트 내에서만 데이터가 유지됩니다.

LocalStorage는 브라우저를 종료해도 데이터는 보관되어 다음번 접속에도 그 데이터를 사용할 수 있는 반면, SessionStorage는 브라우저가 종료되면 데이터도 같이 지워집니다즉 브라우저 종료되면 SessionStorage도 삭제된다는 것입니다.

 

데이터 범위 측면

SessionStorage 역시 Web Storage의 기본 보안 처럼 도메인별로 별도로 생성됩니다여기에 더불어 SessionStorage는 같은 사이트의 같은 도메인이라 할지라도 브라우저가 다르면 서로 다른 영역이 됩니다(즉 브라우저 컨텍스트가 다릅니다)

탭 브라우징이나 브라우저를 하나 더 실행해서 같은 페이지를 실행했을 때이 두 페이지의 SessionStorage는 각각 별개의 영역으로 서로 침범하지 못한다는 의미입니다.(도메인만 같으면 전역적으로 공유 가능한 LocalStorage와 구분되는 특징이라 하겠습니다.)

 

WebStorage의 보안은 서로 다른 도메인의 데이터 침범을 막고는 있지만 클라이언트즉 사용자를 막고 있지는 않습니다클라이언트는 얼마든지 저장된 값을(임의로)수정이 가능합니다이것은 쿠키와 동일한 개념입니다그렇다고 쿠키에 비해 별다른 보안 취약점을 더 가진 것은 아닙니다따라서 개발자는 사용자에 의한 이러한 임의 변경에 항상 예의 주시하고 방어 코드의 작성을 잊지 말아야 하겠습니다.

'IT 프로그래밍 > IT용어' 카테고리의 다른 글

HTML 쿠키 COOKIE 기초 정리  (0) 2014.01.25
LDAP 정의 및 설명  (0) 2014.01.25
Posted by 정윤문경아빠
IT 프로그래밍/IT용어2014. 1. 25. 03:29

쿠키란?

쿠키는 웹 사이트를 만드는 쪽에서 사용자와 관련된 정보를 사용자의 하드디스크에 저장해 둔것을 뜻합니다여기에서 주의할 단어는 하드디스크 입니다사용자의 하드디스크에 작은 텍스트 파일로 저장을 해두기 때문에 사용자가 컴퓨터를 껐다가 켜더라도 언제든지 하드디스크에 저장된 쿠키 파일을 읽어와서 거기에 기록해 놓은 내용을 활용할 수가 있습니다.

사용자의 하드디스크에 정보를 저장하는 이유는 http 프로토콜이 stateless 프로토콜이기 때문입니다. http는 웹 브라우저가 웹 서버에 접속을 해서 어떤 문서나 파일을 요청하면 웹 서버는 요청 받은 내용을 보내준 다음 접속을 끊습니다접속을 한 상태(state)가 지속되지 않고 요청된 것만 처리한 뒤 연결을 끊습니다그러므로 웹서버는 일단 요청된 내용들을 클라이언트에 보내고 나면 그 뒤 사용자가 접속을 하고 있는지 어떤지 알 수 없습니다나아가예전에 접속했던 클라이언트가 또 접속을 한 것인지 아닌지 등은 더더욱 알 수 없습니다그런데 웹 사이트를 운용하는 측에서는 어떤 사용자가 다시 방문을 했는지와 같은 정보가 필요했고 바로 이런 점을 해결하기 위해 stateless http의 특징을 커버하기 위해 등장한 것이 쿠키입니다.

쿠키의 아이디어는 간단합니다접속한 클라이언트의 하드디스크에 적당한 정보를 저장해 둠으로서 또 그 클라이언트가 접속한 경우 언제든지 하드디스크에 저장된 정보를 읽어 들여서 그 사용자를 인식할 수 있는 것입니다. ‘상태에 관한 점검을 언제든지 할 수 있는 것 입니다.

쿠키에 저장되는 내용은 천차만별입니다간단하게는사용자가 어떤 페이지를 읽었고로그인 아이디가 무엇인지이메일 주소가 무엇인지등을 기록할 수도 있고사용자가 어떤 물품을 주문했는지, ip 주소가 무엇인지어떤 사이트를 거쳐서 우리 사이트로 왔는지또는 서버에서 각 클라이언트를 식별할 특별한 정보를 기록하는 등거의 모든 형태의 정보를 저장할 수 있씁니다사용자 입장에서는 나의 행동이 하나하나 기록되어 파일로 저장되고 있고그 파일이 다른 곳도 아닌 ’ 컴퓨터에 나도 모르게 저장된다는 것은 별로 좋은 입장은 아닙니다.

쿠키의 이런 독특한 점은 결국 개인 정보 유출에 관한 문제를 일으킵니다왜냐하면사용자 하드디스크에 그 사용자가 어떤 식으로 웹 서핑을 하고 있는지어떤 물건을 구입했는지이메일 주소는 무엇인지 등의 개인정보까지 저장될 수도 있기 때문에 누군가 악의적으로 쿠키를 보게되면 민감한 정보가 유출될 수도 있기 때문입니다.

그래서 웹 브라우저에는 대개 쿠키를 항상 받아들일 것인지 아니면 매번 대화상자를 띄워서 물어보길 원하는지 쿠키를 절대 받아들이지 않는지를 선택할 수 있습니다.

'IT 프로그래밍 > IT용어' 카테고리의 다른 글

SessionStorage 와 LocalStorage 차이점  (1) 2014.01.25
LDAP 정의 및 설명  (0) 2014.01.25
Posted by 정윤문경아빠
IT 프로그래밍/IT용어2014. 1. 25. 03:29

LDAP란 무엇일까

Lightweight Directory Access Protocol이라는 말인데 우리말로 하면 경량의 디렉토리 액세스 프로토콜이라는 말이 된다

그럼 디렉토리란 무엇일까

디렉토리란 특별한 형태의 데이터베이스라고 할 수가 있다

그리고 쓰기 작업보다 읽기 작업이 더 많을 뿐 아니라 어떤 것을 찾는 작업이 많은 곳에 더더욱 적합한 서비스라고 할 수가 있다.

현재로부터 시간을 조금 거슬러 올라가서 1980년대 말에 특정분야의 디렉토리 서비스의 이용,개발 요구가 높아감에 따라CCITT(International Telegraph and Telephone Consultative Committee, 현재는 ITU이다) ISO(International Organization for Standardization) 두 단체가 함께 X.500이라는 디렉토리 서비스 표준을 만들기 시작하였다

결국 1990년에 CCITT가 표준을 발표했고 1993,1997년 몇번의 수정작업을 거쳐 현재에 이르렀다

 X.500은 최초의 일반적인 목적의 디렉토리 시스템이었고 다양한 쿼리를 사용하는 강력한 검색기능을 제공하였을 뿐만 아니라 서버와 데이터의 분산이 용이했고 그리고 무엇보다도 특정 운영체제나 특정 네트웍,특정 응용프로그램에 구애받지 않고 사용될 수 있는 표준이라는 점이 눈길을 끌 수 있었다.

 

하지만 X.500 개발자들은 DAP(X.500 directory client access protocol)가 너무 방대한데다 복잡하고 구현하기 어렵다는 점 때문에 그당시의 일반 PC급에서는 적용해서 사용하기가 힘들다는걸 알았고 이의 해결책을 모색하기 시작했고 그렇게 해서 나온 것이 LDAP이다.

LDAP DAP의 기능을 거의 다 지원을 했고 복잡했던 부분이나 잘 쓰이지 않았던 부분은 단순화하거나 없애버렸다

그리고 대부분의 데이터 형식에 있어서 단순한 문자열을 사용하므로써 구현을 단순화하고 퍼포먼스를 늘릴수가 있었다

이렇게 LDAP는 처음에 X.500 디렉토리 서비스의 프론트엔드로 사용되었다

그후 최초이면서 많이 알려진 미시건대학의 LDAP(U-M LDAP)가 나오게되었고 현재 많은 상용 또는 오픈소스의 LDAP제품들이 나와있다.

'IT 프로그래밍 > IT용어' 카테고리의 다른 글

SessionStorage 와 LocalStorage 차이점  (1) 2014.01.25
HTML 쿠키 COOKIE 기초 정리  (0) 2014.01.25
Posted by 정윤문경아빠