JavaScript 로 HTTP 쿠키 파싱하기

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 JavaScript 에서 HTTP 쿠키 파싱 (parsing) 에 대해 자세히 알아보겠습니다. 이 랩의 목적은 HTTP 헤더 문자열에서 쿠키 데이터를 추출하고 정리하는 방법에 대한 실습 경험을 제공하는 것입니다. 이 랩을 마치면 parseCookie 함수를 사용하여 모든 쿠키 이름 - 값 쌍을 포함하는 객체를 생성하는 방법을 명확하게 이해하게 될 것입니다.

JavaScript 함수를 사용하여 HTTP 쿠키 파싱하기

JavaScript 에서 HTTP Cookie 헤더 문자열을 파싱하고 모든 쿠키 이름 - 값 쌍의 객체를 반환하려면 다음 단계를 따르세요.

  • 터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다.
  • String.prototype.split()을 사용하여 키 - 값 쌍을 서로 분리합니다.
  • Array.prototype.map()String.prototype.split()을 사용하여 각 쌍에서 키와 값을 분리합니다.
  • Array.prototype.reduce()decodeURIComponent()를 사용하여 모든 키 - 값 쌍을 가진 객체를 생성합니다.

다음은 위의 단계를 구현하는 parseCookie() 함수의 예시입니다.

const parseCookie = (str) =>
  str
    .split(";")
    .map((v) => v.split("="))
    .reduce((acc, v) => {
      acc[decodeURIComponent(v[0].trim())] = decodeURIComponent(v[1].trim());
      return acc;
    }, {});

다음과 같이 함수를 테스트할 수 있습니다.

parseCookie("foo=bar; equation=E%3Dmc%5E2");
// { foo: 'bar', equation: 'E=mc^2' }

요약

축하합니다! 쿠키 파싱 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.