path & domain

YoonJu Lee·2021년 7월 30일
0

Path

http://localhost:3030/cookie 처럼,
cookie directory 안의 page에 만들어 보겠다!
현재는..

  • 최상위 루트에 존재한다.
    // response.writeHead(200, {
    //   "Set-Cookie": [
    //     "yummy_cookie=choco",
    //     "tasty_cookie=strawberry",
    //     `Permanent=cookies; Max-Age=${60 * 60 * 24 * 30}`,
    //     "Secure=Secure; Secure", // 해설>> 일반적인) 쿠키의 이름=값; [진짜 중요한 부분!!]
    //     "HttpOnly=HttpOnly; HttpOnly",
    //   ],
    // });

2. 결과

  • 그럼에도 쿠키는 아직 살아있다.

3. What do i want?

: 특정 directory 에서만 쿠키가 활성화 되도록 하고 싶다.

sol> path 기능

4. 코드 추가.

        "Path=Path; Path=/cookie",

5. 결과

7. localhost:3030에 재접속 한다.

  • 최상위 루트에서는 path 쿠키가 없다.
  • /cookie의 하위로 접속해도 path 쿠키는 살아있고,
  • 그냥 /cookie로 접속해도 path 쿠키가 살아있따.

Con_

< 코드 >

var http = require("http");
var cookie = require("cookie");
http
  .createServer(function (request, response) {
    console.log(request.headers.cookie);
    var cookies = {};
    if (request.headers.cookie !== undefined) {
      cookies = cookie.parse(request.headers.cookie);
    }
    console.log(cookies.yummy_cookie);
    response.writeHead(200, {
      "Set-Cookie": [
        "yummy_cookie=choco",
        "tasty_cookie=strawberry",
        `Permanent=cookies; Max-Age=${60 * 60 * 24 * 30}`,
        "Secure=Secure; Secure", // 해설>> 일반적인) 쿠키의 이름=값; [진짜 중요한 부분!!]
        "HttpOnly=HttpOnly; HttpOnly",
        "Path=Path; Path=/cookie",
      ],
    });
    response.end("Cookie!!");
  })
  .listen(3030);
  • path의 어떤 directory 를 지정하면, 원하는 path 경로와 그 경로 아래에서만 path가 활성화 되서, 웹 브라우저는 거기에 해당되는 쿠키만을 서버에게 전송한다!

Domain

  • cf_ 아래의 domian접속은 안 되서, 영상을 캡쳐하여 설명함.

1. 코드 추가

        "Domain=Domain; Domain=o2.org",

2. o2.org:3000에 접속.

  • 이 전에 쿠키들을 모두 지운 후에, 도메인에 접속한다.
    // response.writeHead(200, {
    //   "Set-Cookie": [
    //     "yummy_cookie=choco",
    //     "tasty_cookie=strawberry",
    //     `Permanent=cookies; Max-Age=${60 * 60 * 24 * 30}`,
    //     "Secure=Secure; Secure", // 해설>> 일반적인) 쿠키의 이름=값; [진짜 중요한 부분!!]
    //     "HttpOnly=HttpOnly; HttpOnly",
    //     "Path=Path; Path=/cookie",
    //     "Domain=Domain; Domain=o2.org",
    //   ],
    // });

4. test/o2.org 에 접속한다.

  • 앞의 test : 서브 도메인

5. 결과

  • "Domain=Domain; Domain=o2.org"는...
    이 앞의 어떤 서브 도메인에서도 살아남는다!
    o2.org 에서만 살아남는다가 아니고!!

Conclusion
path: 어느 path에서 동작 할 것인가를 제한.
domain : 어떤 domain에서 동작 할 것인가를 제한.

profile
Coder가 아닌 Engineer를 향해서.

0개의 댓글