Thief of Wealth

HTTP 헤더에는 사용자에 대한 정보를 전달하는 가장 일반적인 7가지 필드가 있다.

1. From

사용자의 이메일 주소

악의적인 서버가 이메일 주소를 모아서 스팸 메일을 발송하는 경우가 있어서 잘 사용하지 않는다.

 

2. User-Agent

사용자의 브라우저이름, 버전정보, OS정보 등등

 

3. Referer

사용자가 현재링크를 타고 온 근원페이지

현재 페이지로 유입하게한 웹페이지의 URL을 가리킨다.

 

4. Authorization

사용자 이름과 비밀번호

 

5. Client-ip

클라이언트의 IP주소

 

6. X-Forwarded-For

클라이언트의 IP주소

 

7.Cookie

서버가 생성한 ID 라벨

 

 

11.3 클라이언트 주소

초기 웹 선구자들은 사용자 식별에 클라이언트의 IP주소를 사용하려했음.

사용자가 확실한 IP주소를 가지고 있고, 자주 바뀌지 않는다면 유용할것임.

 

하지만 다음과같은 제약사항이있다.

- 여러 사용자가 같은 컴퓨터를 사용한다면?

- ISP가 동적으로 IP를 할당하는 경우가 잦다면?

- NAT을 통해 많은 IP가 가려진다면?

즉, 사용자 IP를 추적하는 방식으로는 요즘 사용자를 추적하기 쉽지 않다.

 

11.4 사용자 로그인

웹사이트 로그인은 귀찮다.

사이트를 옮겨다닐때마다 각 사이트에 로그인을 해야하기 때문이다.

 

11.5 뚱뚱한 URL

사용자의 URL마다 버전을 기술하여 사용자를 식별하고 추적하도록 하는 방법이다.

사이트를 돌아다니면 URL에 있는 상태정보를 유지하는 하이퍼링크를 동적으로 생성한다.

 

하지만 다음과 같은 문제가 있다.

- 못생겨서 사용자에게 혼란을 준다.

- 공유하지 못한다. 공유하게되면 개인정보까지 노출될 위험이 있다.

- 캐시를 사용할 수 없다. URL이 매번달라져서 캐시할 수 없다.

- 서버 부하 가중. 뚱뚱한 문자열을 파싱하여 html을 그려야함

- 이탈. URL을 잃어버리면 처음부터 다시 시작해야할 수도 있다.

 

11.6 쿠키

쿠키는 세션쿠키, 지속쿠키로 나뉜다.

세션쿠키는 사용자가 사이트를 탐색할때 설정과 선호사항들을 임시로 저장하는 쿠키다. 브라우저를 닫으면 삭제된다.

지속쿠키는 디스크에 저장되어, 브라우저닫거나/컴퓨터재시작해도 남아있다.

 

쿠키에도 여러종류가 있다.

profile on loading

Loading...