일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 프록시객체
- 서블릿필터
- supportParameter
- 인증체크
- 양쪽 모두 값 설정
- 캐시
- HTTP상태코드
- 쿠키생명주기
- Not Modified
- no cache
- 300
- 세션만들어보기
- HTTP API
- max age
- must revalidate
- Expires
- 서블릿http세션
- www-Authenticate
- resolveArgument
- etag
- http
- 프록시 캐시 서버
- UrlResource
- 조건부요청
- hikaricp
- Could not find or load main class worker.org.gradle.process.internal.worker.GradleWorkerMain
- 쿠키보안문제
- 검증헤더
- gradle오류
- 세션타임아웃설정
- Today
- Total
목록Expires (2)
복습을 위한

Cache-Control:max-age헤더는 캐시 유효시간을 지정한다. 초단위까지 가능하다. 보통 아주 길게 잡는다. no-cache는 데이터는 캐시를 해도되는데 검증헤더를 통해 항상 조건부요청을 해서 서버에게 로컬에 있는 캐시데이터가 바뀌었는지 안바뀌었는지 검증을하고 사용하라는 뜻이다. no-store는 데이터에 민감한 정보가 있으므로 저장하면 안된다는 뜻이다. Pragma:no-cache도 Cache-Control: no-cache처럼 동작을 하지만 HTTP1.0하위호환이라 지금은 잘 사용하지않는다. Expires는 캐시만료일을 정확한 날짜로 지정한다. 지금은 더 유연한 Cache-Control:max-age를 사용하며 권장된다. 만약 함께 쓰인다면 Expires는 무시된다. • If-Match, I..

쿠키가 무엇인지 예시를 통해알아보자. 일단 쿠키를 미사용하는 경우이다. welcome페이지에 들어가서 홍길동으로 로그인을 했다고 가정을 하자. 서버에서는 로그인했다고 응답을 준다. 그럼 로그인된 html화면이 나올 것이다. 그리고 다시 사용자는 welcome페이지로 들어갔다. 사용자는 안녕하세요 홍길동을 기대했는데 서버에서는 안녕하세요 손님이라고 한다.. 왜냐? 지금 서버는 로그인이후 다시 welcome페이지에 접근했을 때 그 사람이 로그인한 사람인지 아닌사람인지 구별할 수 있는 방법이 없다. 홍길동이 보낸요청인지 아닌지 모른다는 것이다. 이건 http가 무상태 프로토콜이기 때문이다. 클라이언트와 서버가 요청과 응답을 주고 받으면 연결이 끊어지고 다시 요청해도 서버는 이전 요청을 기억하지못한다. 클라이언..