HTTP 헤더

younoah·2022년 1월 15일
0

[WEB]

목록 보기
6/7

📓 HTTP 헤더

HTTP 헤더에는 크게 약속된 표준 데이터을 넣거나 서버와 클라이언트간에 데이터를 위한 커스텀 데이터를 명시할 수 있다.

HTTP 헤더 분류

  • 약속된 표준 데이터
  • 커스텀 데이터

🤝 HTTP 헤더 표준 - 약속된 표준 데이터

표준으로 명시된 헤더를 사용할 때는 정해진 규격의 키, 밸류를 사용해야한다. 그래야지 정상적으로 동작한다.

표준 헤더의 예시로는 아래와 같은것들이 있다.

  • 인증 : Authorization
  • 캐싱 : Cache-Control
  • 쿠키 : Set-Cookie, Cookie
  • CORS
  • 웹소켓
  • 기타 등등

HTTP 헤더의 표준 데이터는 무엇이 있는지 궁금한다면!
MDN HTTP 헤더


🍪 HTTP 헤더 표준 활용 예시 (feet. HTTP 쿠키)

HTTP의 특징중 하나는 상태가 없는 프로토콜이라는 것이다.

하지만 상태가 필요한 경우가 있을 수 있다. 예를들어 사용자가 로그인을 했는지에 대한 정보와 함꼐 서버에게 요청을 해야하는 경우일 때이다.

이때는 HTTP 쿠키를 사용하면 상태를 저장하는 Session을 사용할 수 있다.

응답(Response) 헤더에 아래와 같이 Set-Cookie 를 명시하면 이를 받은 브라우저는 자동으로 쿠키에 데이터를 저장한다.

Set-Cookie: <cookie-name>=<cookie-value>

이후에 상태가 필요한 요청을 보낼때 아래와 같이 요청(Request) 헤더에 Coockie 를 명시하여 브라우저가 가지고 있는 쿠키들을 요청에 담아서 전송할 수 있다.

GET /sample_page.html HTTP/1.1
Host: www.example.org
Cookie: yummy_cookie=choco; tasty_cookie=strawberry

HTTP 쿠키 자세히보기
HTTP 쿠키는 서버가 웹 브라우저에 전송하는 작은 데이터 조각이다. 브라우저는 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재요청 시 저장된 데이터를 함께 전송한다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용하며, 이를 통해 사용자의 로그인 상태를 유지할 수 있다.

🙋🏻‍♂️ HTTP 헤더 우리만의 커스텀 데이터

헤더에 서버와 클라이언트간에 통신을 할 때 필요한 데이터를 넣을수 도 있다.

아래와 같은 형태로 헤더의 키를 지정하고 밸류에 데이터를 넣어주면 된다.

// 커스텀 헤더 키
domain-key
// 혹은
domain.key

예를들어 현재 우리의 서비스가 test.com 이라는 도메인을 사용한다면 헤더의 키로 test.com-key 혹은 test.com.key d를 키로 사용할 수 있다.

이것은 일반적으로 사용하는 약속 내지는 규칙정도인것 같다.

profile
console.log(noah(🍕 , 🍺)); // true

0개의 댓글