일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- thymeleaf
- 싱글톤
- Excel
- HTTP
- 라이프 사이클
- 캐시
- cache
- di
- 프로토타입
- Setter
- VUE
- Stateless
- JPA
- Kotlin
- DB
- Singleton
- Java
- javascript
- 의존성 주입
- dependency injection
- Spring
- js
- Repository
- Security
- HTTP 메서드
- 로그인
- BEAN
- vuex
- vue-cli
- Vue.js
- Today
- Total
목록HTTP (7)
jhhan의 블로그
이번 포스트에서도 캐시에 대해서 알아보겠습니다. 캐시에 대해 알아야 할 것들이 조금 있네요 ㅎㅎ 그래도 계속 이어나가겠습니다. 먼저 캐시와 관련된 헤더들 중 알아두면 좋을 것들에 대해 살펴보겠습니다. 1. Cache-Control 캐시 제어 헤더 Cache-Control: max-age 캐시의 유효 시간을 나타냄 초(second)단위 Cache-Control: no-cache 데이터를 캐시해도 되지만 항상 원(origin) 서버에 검증 후 사용하기 보통 중간에 프록시 캐시 서버가 존재함 → 프록시 캐시 서버가 아닌 원 서버 검증하기 Cache-Control: no-store 민감 데이터가 있으므로 저장하면 안됨 or 최대한 빨리 삭제 ex) 주민번호, 비밀번호 등 요즘에는 Cache-Control 헤더로..
이번 포스트는 지난번 포스트에 이어 캐시에 대해 계속 알아보겠습니다. 캐시의 유효기간이 지난 경우 다시 서버와 통신을 해서 캐시 유효시간을 갱신해야 합니다. 하지만 단순히 캐시만 갱신하는데 동일한 데이터를 가져와야 하는 경우가 있을 것입니다. 이런 경우는 뭔가 좀 비효율적인 것 같습니다. 그래서 캐시 검증 헤더와 조건부 요청이라는 것이 있습니다. 똑같은 말을 한번만 더하겠습니다. 캐시 유효시간이 지난 경우 다시 서버와 통신을 해야합니다. 그럴 때 2가지 상황이 있죠 서버가 기존 데이터를 변경함 서버가 기존 데이터를 유지함 1번의 경우는 어쩔 수 없이 새로운 데이터를 받아오는 것이 맞지만 2번의 경우 단순히 유효시간만 지났기 때문에 브라우저 캐시에 저장된 데이터를 그대로 가져다 쓰고 싶습니다. 이럴 때는 ..
이번 포스트에서는 캐시에 대해서 알아보겠습니다. 이전 포스트에서 다룬 쿠키와 같이 매우 많이 들어볼 수 있는 단어입니다. 캐시를 알아두면 어떻게든 도움이 될 것 같습니다. 먼저 캐시를 사용하지 않을 때를 살펴보겠습니다. GET /circle.jpg 라는 요청으로 원 모양의 이미지를 받아올 수 있다고 가정해봅니다. 첫 번째 GET /circle.jpg 요청을 보냄 서버에서는 circle.jpg 이미지를 전송해줌 이 때 HTTP 헤더는 0.1M 바이트 HTTP 바디는 1M 바이트 총 1.1M 바이트가 필요하다고 가정합니다. 웹 브라우저는 서버에서 전송해준 이미지를 받아서 화면에 표시합니다. 이후 두 번째 GET /circle.jpg 요청이 들어오면 다시 서버에서 circle.jpg 이미지를 전송 → 다시 1..
이번 포스트에서는 HTTP Cookie에 대해서 알아보려고 합니다. 쿠키에 대해서는 다들 한번쯤은 들어보신 적이 있을 것입니다. 그리고 일부 사이트에 들어가면 쿠키 허용에 대한 문구도 종종 볼 수 있죠. 이런 쿠키에 대해서 조금 적어보려고 합니다. 일단 쿠키를 왜 쓰는지, 어떤 방식으로 쓰이는지 먼저 알아봅시다. 일단 먼저 HTTP 특징 중 Stateless라는 특징이 있습니다. Stateless(무상태) 클라이언트와 서버가 요청 & 응답을 주고 받으면 끝(연결 해제) 즉, 서버는 클라이언트의 이전 요청을 기억하지 못함 클라이언트와 서버는 서로 상태 유지를 하지 않음 이런 특징이 있는데 그러면 로그인 관련 동작을 진행하면 어떻게 될까요? 정말 간단하게만 보면 위의 3가지 그림으로 설명이 될 것 같습니다...
저번 포스트에서는 HTTP에 대해서 알아봤습니다. 이번 포스트에서는 HTTP 메시지에 대해 알아보겠습니다. 이전에 한 번 HTTP 메시지에 대해 잠깐 언급한 적이 있는데요. https://jhhan009.tistory.com/95 웹 브라우저의 요청과 흐름 이번 포스트에서는 웹 브라우저의 요청, 흐름에 대해서 알아보겠습니다. 이전 포스트에서는 URL에 대해서 다뤘습니다. 그리고 URL의 예시로 이런 것을 들었죠. https://www.google.com/search?q=hello&hl=ko 그 jhhan009.tistory.com 언급했던 HTTP 메시지에 대해 좀 더 알아보죠. 먼저 HTTP 메시지의 구조부터 알아보겠습니다. 크게 4가지 영역으로 구분됩니다. 그리고 Request 메시지와 Respons..
이번 포스트에서는 HTTP의 특징에 대해서 알아보겠습니다. (저번 포스트에서는 웹 브라우저의 요청과 흐름에 대해서 알아봤죠...) HTTP(HyperText Transfer Protocol)입니다. HTTP 메시지에 모든 것을 담아 전송할 수 있습니다. html, text - http 초기에는 이런 것들을 담아보냈겠지만 Image, 음성, 영상, 파일 - 나중에는 이런 것들도 보낼 수 있게 확장이 되었겠죠. JSON, XML (API) 즉, 대부분의 데이터 형식 전송 가능 서버간 데이터를 주고받을 때도 HTTP 통신 사용 HTTP는 굉장히 다양하게 쓰이는 중 그래서 HTTP에 대해서 알아두면 개발하는데 많은 도움이 된다고 합니다. HTTP 역사 HTTP가 발전해 온 과정은 간단하게 알고만 넘어가겠습니다...
이번 포스트에서는 웹 브라우저의 요청, 흐름에 대해서 알아보겠습니다. 이전 포스트에서는 URL에 대해서 다뤘습니다. 그리고 URL의 예시로 이런 것을 들었죠. https://www.google.com/search?q=hello&hl=ko 그럼 이 URL을 통해 어떻게 웹 브라우저에 화면이 나타나는지 간단하게 알아보겠습니다. 간단하게 생각하기 위해서 위의 그림과 같이 되어있다고 생각해보면 웹 브라우저 : 여기서 URL을 통해 검색합니다. 구글 서버 : URL을 받는 쪽이 될 것입니다. 1. 먼저 저 URL을 받으면 웹 브라우저는 URL을 인식하기 위해 약간 변형을 합니다. https://www.google.com:443/search?q=hello&hl=ko https의 경우 포트가 생략되면 443으로 설정..