Web

Web/HTTP

[Cookie] HTTP에서 Secure 플래그 설정 시 쿠키가 전송되지 않는 현상

문제 상황 로그인을 구현하는데 있어 인가(Authorization)를 위해 세션을 이용했다. 로컬에서 세션을 이용하는 경우 쿠키에 세션 정보가 저장되게 되는데, 나는 Secure 플래그를 SessionConfig에서 설정하지 않았음에도 불구하고 기본값인 false가 아닌 true가 출력됐다. Secure의 기본값은 false이다. 하단의 SessionConfig를 봤을 때, Secure에 대한 설정은 존재하지 않는다. @Configuration public class SessionConfig { @Bean public CookieSerializer cookieSerializer(){ DefaultCookieSerializer serializer = new DefaultCookieSerializer(); ..

Web/HTTP

[HTTP] Spring에서 Cookie 설정 시 Headers에 Set-Cookie가 생기지 않는 문제

사실은 문제가 아니라 HTTP와 Cookie에 대해 잘 알지 못해 발생한 나의 문제였다... 문제 상황 세션 로그인 API를 개발한 후, Postman을 통해 쿠키가 잘 생성된 것을 확인했다. 하지만 어느날 클라이언트에서 세션에 대한 쿠키가 Response Header에 담겨있지 않다는 문제가 발생한다고 했다... 그래서 Postman을 통해 다시 확인해보니 API를 처음 실행했을 때는 헤더에 쿠키가 잘 담겨있지만, 2회 이상 실행하는 경우 담겨있지 않았다. 나는 이 부분이 이상하다고 생각하고 API에서 매번 직접 헤더에 세션을 넣어주도록 코드를 변경해주었다. 문제 해결 사실은 무지로 인한 문제가 발생한 것이었다. 나는 로그인 API를 2회 이상 실행할 때 헤더에 쿠키 정보가 사라지는 것을 이상하게 생각..

Web

[WEB] 웹 서버와 웹 애플리케이션 서버

해당 게시글은 김영한님 강의 MVC 1편을 수강하고 기록하기 위해 작성하는 글입니다. 1️⃣ 웹 서버(Web Server) HTTP 기반으로 동작 정적 리소스 제공, 기타 부가기능 정적(파일) HTML, CSS, JS, 이미지, 영상 예) NGINX, APACHE 2️⃣ 웹 애플리케이션 서버(WAS - Web Application Server) HTTP 기반으로 동작 웹 서버 기능을 대부분 포함(정적 리소스 제공 기능) 프로그램 코드를 실행해서 애플리케이션 로직 수행(웹 서버와 가장 큰 차이점) 동적 HTML, HTTP API(JSON) 서블릿, JSP, 스프링 MVC 예) 톰캣(Tomcat), Jetty, Undertow 3️⃣ 웹 서버, 웹 애플리케이션 서버(WAS) 차이 웹 서버는 정적 리소스(파일..

Web/HTTP

[HTTP] 캐시와 조건부 요청 헤더에 대해 알아보자

해당 글은 김영한 님의 HTTP 강의를 듣고 기록하기 위해 작성하는 글입니다. 1️⃣ 캐시 제어 헤더 Cache-Control: 캐시 제어 Pragma: 캐시 제어(하위 호환) Expires: 캐시 유효 기간(하위 호환) 현재는 대부분 Cache-Control을 사용한다. 2️⃣ Cache-Control 캐시 지시어(directives) Cache-Control: max-age 캐시 유효 시간, 초 단위 Cache-Control: no-cache 데이터는 캐시해도 되지만, 항상 원래(origin) 서버에 검증하고 사용해야 함 Cache-Control: no-store 데이터에 민감한 정보가 있으므로 저장하면 안 됨 (메모리에서 사용하고 최대한 빨리 삭제) 3️⃣ Pragma 캐시 제어(하위 호환) Pra..

당찬 뱁새
'Web' 카테고리의 글 목록