코딩과로그

TIL > 쿠키 & HTTP 헤더 본문

Devops/TIL

TIL > 쿠키 & HTTP 헤더

피리음 2023. 3. 21. 01:24

쿠키

 : 서버에서 클라이언트에 데이터를 저장하는 방법의 하나이다.

또한 서버가 원한다면 서버는 클라이언트에서 쿠키를 이용하여 데이터를 가져올 수 있다.

따라서 쿠키를 이용하는 것은 단순히 서버에서 클라이언트에 쿠키를 전송하는 것만 의미하지 않고 클라이언트에서 서버로 쿠키를 전송하는 것도 포함된다.

 

쿠키 옵션:

1. 도메인 :

도메인이란 www.google.com 과 같은 서버에 접속할 수 있는 이름이다. 도메인 이름만 포함되고 포트 및 서브 도메인 정보, 세부 경로는 포함하지 않는다.
여기서 서브 도메인은 www 을 의미한다.

http://www.localhost.com:3000/users/login 이라는 URL 이 있다면 여기서 도메인은 localhost.com 이다.

 

 

2. Path
: 서버가 라우팅 시 사용하는 경로이다.

예를 들어 http://www.naver.com:3000/posts/10 라는 URL 이 있다면, Path 는  /posts/10 이고, 별도로 명시되어 있지 않다면 기본값은 이다.

URL의 Path 에 설정된 Path 가 포함되어있다면 Path가 추가로 더 있더라도 쿠키를 서버에 전송할 수 있다.

즉 Path가 /posts 로 설정되어 있고, 요청하는 세부 경로가 /posts/10 인 경우라면 쿠키 전송이 가능하다.

 

3. MaxAge or Expires

: 쿠키의 유효기간을 의미합니다.

MaxAge 는 유효 시간을 의미하고, Expires 는 유효 기간을 의미합니다.

예를 들어 MaxAge가 3600 으로 설정되어있으면 3600초를 의미하며 쿠키를 받은 후로부터 1시간동안 쿠키가 유효합니다.만약 Expires 를 3월 1일로 정했다면 3월 1일까지 쿠키가 유효합니다.두가지 옵션이 모두 지정되어 있지 않다면 브라우저의 탭을 닫을 때 쿠키가 제거됩니다.

 

4. Secure

: 해당 옵션이 true 로 설정되어 있는 경우, https 프로토콜로 통신하는 경우에만 쿠키를 전송할 수 있습니다.

 

5. HttpOnly

: 해당 옵션이 true 로 설정되어있는 경우 자바스크립트로 쿠키값을 얻어올 수 없습니다.

 자바스크립트로 접근이 가능하면 XSS 공격에 취약합니다.

 

6. SameSite

Cross-Origin 요청을 받은 경우, 옵션을 설정하여 쿠키 전송 여부를 결정합니다.Lax   :  same-site 가 아닌 경우에만 'GET' 메소드만 쿠키 허용Strict :  same-site 인 경우에만 쿠키 허용

None: 항상 쿠키를 보내준다.

 

HTTP 주요 헤더

요청 헤더 :

Referer: 

 - 현재 요청된 페이지의 이전 웹 페이지 주소

 

User-Agent:

 - 유저 에이전트 애플리케이션 정보

 - 클라이언트의 애플리케이션 정보(웹 브라우저 정보, 등등)

 

Host:

  - 요청한 호스트 정보이다.

 - 필수 헤더

 - 도메인을 통해서 빠르게 원하는 IP를 찾을 수 있다.

 

Origin:

  - 서버로 POST 요청을 보낼 때, 요청 주소를 뜻한다.

 - 요청을 보낸 주소와 응답을 받은 서버의 주소가 다르면 CORS 에러가 발생

 -  응답헤더의 Access-Control-Allow-Origin 와 관련이 있다.

 

Authorization: 인증 토큰 관련 헤더

 - 토큰의 종류와 토큰 값을 전달한다.

 

응답 헤더

Server:

  -  요청을 처리하기 위해 서버에서 사용하는 소프트웨어를 보여준다.

 

Date :

  -  메시지가 발생한 날짜와 시간

 

Location:

요청된 리소스가 새 위치로 이동했음을 클라이언트에 알리는 것입니다. 그런 다음 클라이언트는 새 위치에서 리소스를 검색하기 위해 Location 헤더에 지정된 URL에 새 요청을 보내야 한다.

예를 들어 사용자가 새 URL로 이동된 웹 사이트의 페이지에 액세스하려고 하면 서버는 301 상태 코드와 페이지의 새 URL이 포함된 Location 헤더로 응답할 수 있다. 그런 다음 사용자의 브라우저는 자동으로 새 URL로 리디렉션하여 페이지를 검색한다.
Location 헤더는 임시 리디렉션(302 상태 코드) 또는 다른 프로토콜로의 리디렉션(예: HTTP에서 HTTPS로)과 같은 다른 유형의 리디렉션을 구현하는 데에도 사용할 수 있다.

 

'Devops > TIL' 카테고리의 다른 글

TIL > API 문서 작성하기 (swagger)  (0) 2023.03.23
TIL > REST API  (0) 2023.03.23
TIL > HTTP  (0) 2023.03.16
TIL > URL과 URI  (0) 2023.03.15
TIL > 시스템 모니터링  (0) 2023.03.15