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 쿠키
쿠키는 세션쿠키, 지속쿠키로 나뉜다.
세션쿠키는 사용자가 사이트를 탐색할때 설정과 선호사항들을 임시로 저장하는 쿠키다. 브라우저를 닫으면 삭제된다.
지속쿠키는 디스크에 저장되어, 브라우저닫거나/컴퓨터재시작해도 남아있다.
쿠키에도 여러종류가 있다.
'개발 > Web Programming' 카테고리의 다른 글
[react-native] 앱 아이콘 변경 (0) | 2022.06.30 |
---|---|
[react-native] splash 이미지 적용 (0) | 2022.06.29 |
[HTTP 완벽가이드] 10. HTTP 2.0 (0) | 2022.06.26 |
[HTTP 완벽가이드] 9장. 웹 로봇 (0) | 2022.06.26 |
`React/RCTBridgeModule.h` file not found (0) | 2022.06.14 |