일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DB
- Singleton
- 의존성 주입
- javascript
- vuex
- VUE
- Vue.js
- 싱글톤
- Setter
- JPA
- 프로토타입
- HTTP 메서드
- BEAN
- Stateless
- Java
- Spring
- di
- dependency injection
- Security
- vue-cli
- thymeleaf
- Kotlin
- js
- 캐시
- Excel
- 라이프 사이클
- HTTP
- 로그인
- cache
- Repository
- Today
- Total
목록HTTP (14)
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 헤더에 대해서 알아보겠습니다. 이번에는 좀 더 자세히 알아볼 것입니다. (분류되는 내용이 다른 블로그에서 정리한 것과는 다를 수도 있을 것 같습니다.) 1. 표현 표현과 관련된 헤더입니다. 1-1. Content-Type 표현 데이터의 형식을 설명하는 역할 ex) Content-Type: text/html; charset=UTF-8 Content-Type: application/json Content-Type: image/png 메세지 바디 부분에 무슨 내용이 들어가는지 표시합니다. 자주 사용됨 1-2. Content-Encoding 표현 데이터를 압축하기 위해 사용 데이터 전달 시 압축 후 헤더 추가 데이터를 받는 부분은 헤더 정보를 통해 압축 해제 e..
(제목을 헤더와 바디라고 했지만 사실은 헤더에 대해서 계속 알아볼 것입니다.) 이번 포스트에서는 HTTP 헤더에 대해서 알아보겠습니다. HTTP 헤더에는 굉장히 다양한 내용이 들어갑니다. 그래서 이게 뭐지... 하는 것들이 굉장히 많습니다. 그리고 몰라도 큰 문제없이 넘어가는 경우도 있기 때문에 저는 HTTP 헤더에 크게 관심을 가지지 않았습니다. 그래도 어떤 내용이 주로 들어가는지 정도는 알아야겠죠.. HTTP 헤더 HTTP 전송에 필요한 모든 부가정보 전송 EX) 메세지 바디 내용 & 크기, 압축, 인증, 등등 굉장히 많다 필요한 경우 임의로 헤더를 추가할 수도 있음 HTTP 헤더를 분류하는 방법도 정의되어 있습니다. 1. RFC2616버전(1999년) General 헤더 : 메시지 전체에 적용되는 ..
이번 포스트에서는 HTTP 메서드를 이용해서 API를 만들 때 생각해봐야 되는 부분에 대해서 알아보려고 합니다. HTTP 메서드에 대해서 어느정도 알아봤으니 이제 HTTP API를 어떤 식으로 만들어야 할지 생각해 봅시다. EX) 회원 정보 관리 API를 작성하기 회원 목록 조회 회원 상세 조회 회원 등록 회원 수정 회원 삭제 일단 되는데로 만들어본다면.. 회원 목록 조회 : /get-all-members 회원 상세 조회 : /get-member 회원 등록 : /create-member 회원 수정 : /update-member 회원 삭제 : /delete-member 이런 식으로 만들 수 있을 것 같습니다. 왠지 느낌 상 저런 식으로 만들면 안 될 것 같다는 느낌이 듭니다. (잘 만들었다는 느낌이 들지는..
이번 포스트도 HTTP에 대해서 다뤄보려고 합니다. 저번에는 HTTP 메서드가 무엇이 있는지 알아봤으니 이번에는 HTTP 메서드 별 속성에 대해 조금만 더 알아보려고 합니다. HTTP 메서드의 속성 중 3개에 대해서 알아보겠습니다. Safe Methods(안전) Idempotent Methods(멱등) Cacheable Methods(캐시 가능) 1. Safe Methods(안전) '안전'에 관한 속성은 메서드를 호출해도 리소스 변경이 일어나는가에 대해 입니다. GET YES POST NO PUT NO PATCH NO DELETE NO GET은 단순히 데이터를 불러오기만 하기 때문에 리소스 변경이 일어나지 않습니다. 그 외에 다른 메서드들은 리소스 변경이 일어나죠(등록, 수정, 삭제 ..) Q: 만약 계..