일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 백준
- Application Argument
- HATEOAS
- JPA
- HttpMessageConverters
- 리소스핸들러
- 브루트포스
- 정적 리소스
- @ConfigurationProperties
- 백기선
- 스프링부트
- 리소스 서버
- OAuth2
- JsonSerializer
- rest api
- 백트래킹
- 스프링 부트
- @Profile
- AuthenticationPrincipal
- application.properties
- 외부설정
- cors
- Application Runner
- EnableAutoConfiguration
- webjar
- WebApplication Type
- 다익스트라
- Spring Security
- 알고리즘
- Application Event
- Today
- Total
아카이브
세션 & 쿠키 본문
세션(Session)
1. 특성
- 일정 시간동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술
- 일정 시간 = 브라우저를 통해 웹 서버에 접속 ~ 브라우저 종료
- "방문자가 웹서버에 접속해있는 상태" = 한 단위의 세션
- HTTP 프로토콜은 비접속형 프로토콜 - > 세션이 연결 유지를 가능하게 함
- 클라이언트가 웹서버에 request하면, 서버가 클라이언트에 유일한 session_id를 부여
- 서버에 저장되기떄문에, 서버의 부하와 별도의 공간이 필요함
2. 원리
- session_id를 서버가 클라이언트에 발급
- session_id를 쿠키를 사용해서 저장 (JSESSIONID)
- 클라이언트가 재접속시, JSESSIONID를 이용해서 session_id를 서버에 전달
쿠키(Cookie)
1. 특성
- 특정 웹 사이트를 방문했을때 만들어지는 정보를 담는 파일
- 상태정보를 유지하는 기술
- 이름, 값, 만료 날짜, 경로 정보 등
- 방문자의 하드 디스크에 저장하였다가 필요시 참조
2. 원리
- 클라이언트가 브라우저로 페이지 접속
- 클라이언트가 요청 페이지를 받으면서 쿠키를 하드에 저장
- 재 방문시 페이지 요청과 함께 쿠키값을 전송
- ex) ID와 PW를 저장하시겠습니까?, "오늘 이 창을 보지 않음", 쇼핑몰 장바구니 등
3. 제약 조건
- 클라이언트에 총 300개의 쿠키 허용
- 하나의 도메인 당 20개의 값만 보유
- 쿠키는 4MB가 최대
세션vs쿠키
- 세션 : 방문자의 정보를 웹서버에 저장웹 서버가 session_id 파일을 만들어 서버에 저장
웹 서버가 session_id 파일을 만들어 서버에 저장
-쿠키 : 방문자의 정보를 방문자의 컴퓨터에 저장
id&pw나 방문사이트 등
세션과 쿠키가 왜 사용되는가?
HTTP 프로토콜의 단점을 커버하기 위해
HTTP 프로토콜 ?
- 특성
1) Connectionless : client가 request하고, server가 response하면 서로 접속을 끊는다
2) Stateless : 접속을 끊는 순간 통신이 중단되고 상태 정보는 유지되지 않는다
☞ 세션&쿠키를 사용하지 않으면 ? 통신을 할때마다 인증이 필요
- 로그인이 필요한 서비스에 접근할때마다 전부 로그인을 해야함
'네트워크' 카테고리의 다른 글
웹의 동작 원리 (0) | 2018.06.20 |
---|---|
OSI 7계층 (0) | 2018.06.18 |
LAN vs WAN (0) | 2018.06.13 |
REST (0) | 2018.06.13 |
HTTP vs HTTPS (0) | 2018.06.13 |