일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- @Entity
- 네이버 연결된 서비스
- hibernate.dialect
- 멱등활용
- Transaction not successfully started
- @Table
- HTTPMESSAGE
- ERROR TYPE : org.apache.ibatis.binding.BindingException
- org.apache.ibatis.binding.BindingException
- SpringBoot
- 매핑정보가없는필드
- JPA
- RFC723x
- Git
- 김영한JPA
- 데이터베이스 방언
- Invalid bound statement (not found)
- 자바ORM표준프로그래밍
- 무상태프로토콜
- 캐쉬가능
- DB방언
- HTTP3
- gitrevert
- 네이버로그인API
- anyMatch
- initialDelay
- gitreset
- http
- KAKAOLOGINAPI
- fixedDelay
- Today
- Total
목록IT/HTTP (34)
twocowsong
캐시 무효화 캐쉬를 무효화를 하여도 웹브라우저에서 GET요청이면 캐쉬를 사용합니다. Cache-Control 확실한 캐시 무효화 응답 • Cache-Control: no-cache, no-store, must-revalidate • Pragma: no-cache • HTTP 1.0 하위 호환 Cache-Control 캐시 지시어(directives) - 확실한 캐시 무효화 • Cache-Control: no-cache 데이터는 캐시해도 되지만, 항상 원 서버에 검증하고 사용(이름에 주의!) • Cache-Control: no-store 데이터에 민감한 정보가 있으므로 저장하면 안됨 (메모리에서 사용하고 최대한 빨리 삭제) • Cache-Control: must-revalidate • 캐시 만료후 최초 조..
프록시 서버 미국에있는 서버에 이미지를 다운받을경우 0.5초씩걸린다고 가정해봅시다. 이때 프록시 캐쉬 서버를 도입하게됩니다. (EX ) CDN...) 자료 요청 시 웹브라이저가 원서버가아닌 프록시 서버에 접근하게 만듭니다. 기존에 0.5초가 걸렸던게 0.1초만에 응답을 받게됩니다. Cache-Control 캐시 지시어(directives) - 기타 • Cache-Control: public • 응답이 public 캐시에 저장되어도 됨 • ex) 공용으로 사용하는 이미지의 경우 public으로 설정하여 cdn을 통해 다운로드 받음 • Cache-Control: private • 응답이 해당 사용자만을 위한 것임, private 캐시에 저장해야 함(기본값) • Cache-Control: s-maxage • ..
캐시 제어 헤더 • Cache-Control: 캐시 제어 • Pragma: 캐시 제어(하위 호환) • Expires: 캐시 유효 기간(하위 호환) Cache-Control 캐시 지시어(directives) • Cache-Control: max-age 캐시 유효 시간, 초 단위 • Cache-Control: no-cache 데이터는 캐시해도 되지만, 항상 원(origin) 서버에 검증하고 사용 • Cache-Control: no-store 데이터에 민감한 정보가 있으므로 저장하면 안됨 (메모리에서 사용하고 최대한 빨리 삭제) Pragma 캐시 제어(하위 호환) • Pragma: no-cache • HTTP 1.0 하위 호환 Expires 캐시 만료일 지정(하위 호환) • expires: Mon, 01 Ja..
검증 헤더와 조건부 요청2 • 검증 헤더 • 캐시 데이터와 서버 데이터가 같은지 검증하는 데이터 • Last-Modified , ETag • 조건부 요청 헤더 • 검증 헤더로 조건에 따른 분기 • If-Modified-Since: Last-Modified 사용 • If-None-Match: ETag 사용 • 조건이 만족하면 200 OK ( 새로 다운 ) • 조건이 만족하지 않으면 304 Not Modified (브라우저 캐쉬에 이미지와 서버에이미지가 같은경우) If-Modified-Since: 이후에 데이터가 수정되었으면? 데이터 미변경 예시 (다운로드 하지않음) • 캐시: 2020년 11월 10일 10:00:00 vs 서버: 2020년 11월 10일 10:00:00 • 304 Not Modified, ..
검증 헤더와 조건부 요청1 캐시 유효 시간이 초과해서 서버에 다시 요청하면 다음 두 가지 상황이 나타납니다. 1. 서버에서 기존 데이터를 변경함 2. 서버에서 기존 데이터를 변경하지 않음 • 캐시 만료후에도 서버에서 데이터를 변경하지 않음(기존의 이미지와 서버에서 다운받을이미지 같은경우) • 생각해보면 데이터를 전송하는 대신에 저장해 두었던 캐시를 재사용 할 수 있다. • 단 클라이언트의 데이터와 서버의 데이터가 같다는 사실을 확인할 수 있는 방법 필요 최초 이미지를 요청할경우 Last-Modified라는걸 추가하여 다운받으려는 이미지의 마지막 수정된 일자 정보를 얻을수있습니다. 응답결과를 캐쉬에 저장, max-age도 저장, Last-Modified에 받은 응답값도 브라우저에 저장합니다. max-age..
캐쉬 기본 동작 클라이언트가 star.jpg를 요청할경우 서버가 이미지의 정보 헤더 : 0.1 , 바디 : 1.0 합 : 1.1m 정보를 전송해줍니다. 만약 캐쉬가 없을경우 매번 클라이언트는 요청하고 1.1m 이미지를 다운받는이방법이 계속 반복될것입니다. 낭비가 심하고 좋지않은방법입니다. 캐쉬가 없을 때는 계속해서 네트워크를 통해서 데이터를 다운받아야하며 네트워크는 매우 느리고 비싸며 브라우저 로딩 속도가 느림으로 사용자측에서는 좋지않은 결과만 보여지게됩니다. 캐쉬를 적용하게 되면 HTTP 헤더에 cache-control이 추가되며 max-age의 시간동안 캐쉬가 유효합니다. 클라이언트가 star.jpg를 최초 요청하게되면 서버에서는 이미지를 내려줍니다. 응답 결과를 브라우저 캐쉬에 저장하게됩니다. 이후..
쿠키 Set-Cookie: 서버에서 클라이언트로 쿠키 전달(응답) Cookie: 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달 HTTP는 무상태 프로토콜입니다. 서버에서는 클라이언트의 상태를 가지고있지않습니다. 서버가 클라이언트의 상태를 저장하기위해서 세션과 쿠키가있습니다. 쿠키의 경우 클라이언트가 서버에게 요청 후 서버는 해당 값으로 쿠키를 생성시켜 웹브라우저 쿠키저장소에 저장합니다. @GetMapping("/login") @ResponseBody public void login(HttpServletResponse response) throws Exception{ Cookie createCookie = new Cookie("userName", "홍길동"); createCook..
Host 요청한 호스트 정보(도메인) 요청에서 사용하며 필수입니다. 하나의 서버가 여러 도메인을 처리해야할때 사용합니다. 가상호스트를 통해 여러 도메인을 한번에 처리할 수 있는 서버 실제 애플리케이션이 여러개 구동될 수 있다. 호스트가 없는경우 aaa인지 bbb인지 ccc인지 모르게됩니다. 이러한경우 발생하기 때문에 호스트 값은 필수입니다. Location 페이지 리다이렉션 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면, Location 위치로 리다이렉트합니다. Allow 허용 가능한 HTTP 메서드 @RequestMaaping 이아닌 @GetMapping 으로 설정 후 POST로 요청을 할경우 405에러가 발생됩니다. 인증 Authorization: 클라이언트 인증 정보를 서버에 전..