쿠키와 헤더정보

0

개념정리

목록 보기
20/33

세션은 내장돼있는 쿠키를 쓰는데 세션이나 쿠키는 호스트가 다른url로 요청이 들어왔을 경우 유지되지 않는다. -> 해결방법 : withCredentials

        $.ajax({
            xhrFields: {
                withCredentials: true // 클라이언트와 서버가 통신할때 쿠키 값을 공유하겠다는 설정
                // 쿠키를 유지될수있도록 하는 방법인데, 곧 세션도 쿠키를 사용하므로 세션도 유지한다고 할 수있음.
            },


컨트롤러에는 아래 코드 추가

response.addHeader("Access-Control-Allow-Credentials", "true");
  • 같은 프론트의 5500의 자원을 쓰는게 아니라 다른 출처인 8888번의 자원을 쓰려고 하면 8888번 포트를 쓰는 백엔드에 요청, js(5500 포트)와 백엔드의 출처가다르기 때문에 -> CORS(동일근원정책 위배) 에러 발생

1) 요청 : header: origin / 값 : http://본인ip:5500 (가볍게 요청되는지 날려보는 것: preflight 요청이 가능한 상태인지 확인해보는것!)
요청시에 헤더정보를 허용하겠어 라고 써줘야 함
response.addHeader("Access-Control-Allow-Origin", "")
응답시에 헤더 내용이 실려감.
2) 응답 : 실제 요청. 1번에서 안되면 에러를 보내고, 가능하면 답을 보냄!
-> key는 백엔드가 가진다. 헤더에 담아서 보내줘야 함

profile
백엔드를 공부하고 있습니다.

0개의 댓글