메뉴 건너뛰기

os
조회 수 104 댓글 1

function SetCookie (name, value, expireDate) {
    var cookieStr = name + "=" + escape(value) +
        ((expireDate == null)?"":("; expires=" + expireDate.toGMTString()));
        document.cookie = cookieStr;
}

 

1)위코드에서 escape() 사용해서 문자열을 ISO Latin-1 코도를 변환하는이유는 보안때문인가요?

문자열인데 굳이 변환하는이유 모르겠네요.

 

그리고

2)   ((expireDate == null)?"":("; expires=" + expireDate.toGMTString()));        // 이부분에 대한 설명이 없네요.

위코드는 설명없으면 도저이 이해가 안됩니다.  설명좀해주세요.

3) 그리구 윈도우7 64bit 크롬브라우저 사용하고 있는데 , 책에나온 쿠키 저장 경로 와 다르네요? 

크롬브라우저의 쿠키 저장 경로는 어디인가요??

?
  • ?
    황기태 2017.12.10 13:44

    쿠키에 대한 질문이군요. 정말 열공하는 분이군요. 그리고 매우 예리한 질문입니다.
    답을 한 번 해보겠습니다.
    1. 쿠키 값은 문자열이기 때문에 그냥 저장하면 되는데 왜 LATIN-1 코드로 저장하느냐? 좋은 질문입니다. 쿠키는 문자열이지만 이 문자열에는 세미콜론(';')이나 빈칸(' ')등의 문자도 섞여 있을 수 있습니다.
    이런 문자들(알파벳이나 숫자가 아닌 문자들)을 모두 16진수형태의 코드로 바꾸어 저장하기 위해 LATIN-1코드로 변환하여 저장하는 겁니다. 예를 들어 세미콜론을 그대로 저장하면 쿠키 이름과 값 그리고 유효시간 등을 구분하는 세미콜론과 구분하지 못하게 되겠지요.
    쿠키를 잘 이해하려면 이 책의 범위를 넘어서는 공부가 필요합니다. 쿠키에 대해 더 자세하게 설명된 책이나 문서를 찾아보세요.

    2. 그리고 다음 코드를 설명하면,
    ((expireDate == null)?"":("; expires=" + expireDate.toGMTString()));

    expireDate == null 이 참이면 ""를
    아니면 "; expires=" + expireDate.toGMTString()를 cookiesStr에 연결한다는 뜻이지요.

    즉, SetCookie() 함수에 전달되는 expireDate 매개변수는 Date객체가 넘오도록 하였습니다(예제12-1의 코드).
    그런데 expireDate를 null로 전달받게 되면 expires=유효시간 부분을 생략하고
    그렇지 않으면 GMT 형식으로 시간 값을 바꾸어 저장한다는 뜻입니다. 이렇게 하여 그림 12-9의 모양을 만들려고 하는 겁니다.
    expires 부분이 저장되지 않으면, 그것은 쿠키의 유효시간이 없다는 뜻이고, 브라우저가 종료하면 이 쿠키를 사라진다는 뜻입니다.

    이것 역시 보다 자세히 알려면 쿠키에 대한 더 높은 수준의 공부가 필요합니다. 이책은 이 수준과 범위를 넘지는 않는 초급 수준으로 작성되었음을

    양해해 주세요. 쿠키에 대해 더 자세하게 설명된 책이나 문서를 찾아보세요.


    3. 쿠키는 브라우저마다 다루는 방법이 서로 다릅니다. 그리고 브라우저의 버전 등이 변할 때도 바뀌기도 하고요. 책의 p.520은 익스플로러의 윈도우 7 이상의 경우에 쿠키가 저장되는 위치인데
    현재는 맞겠지만, 앞으로 어떻게 될지 모르는 겁니다. 저장된 위치를 정확히 아는 것이 그리 중요한 것은 아닙니다. 책은 하나의 사례로 들어 놓은 겁니다.
    크롬의 경우는 어떤 곳에 저장되어 있겠지요. 한 번 찾아 보세요.


QnA

공부하면서 궁금했던 것을 질문해보세요.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 읽어주세요! 연습문제 및 실습문제 정답 공개에 관한 공지입니다. file 관리자 2017.06.20 18281
263 선생님 재질문 드립니다. 1 file 입문한 사람 2020.06.12 150
262 선 색 변경이 안됩니다 1 모르겠어요 2020.06.19 199
261 서버설치와 코드편집기 질문 드려요~ 1 TS2019 2019.10.26 131
260 살다 살다 답을 반쪽만 주는 책은 처음입니다 1 음음 2019.01.24 8848
259 비정형 표 질문 file ㅇㅇ 2020.04.08 193
258 비정형 표 만들기 다운로드 1 애치 2023.04.04 103
257 브라우저 크기 변경 1 열심히 공부하는 독자 2020.08.27 59
256 버튼 태그에 대해서 궁금한게 있습니다!! 1 아이디가뭐였지 2021.03.22 128
255 배경슬라이드가 뭔지 추가설명하겠습니다 2 hansung 2019.06.27 92
254 바닐라js 란 것에 대해 질문이 있습니다. 2 muuum 2018.11.01 546
253 몽구스 질문있습니다 ㅜㅜ 3 몽구스초보입니다 2019.01.10 1003
252 몽구스 질문드립니다. 2 서동 2018.02.26 259
251 몽구스 웹서버가 작동 안됩니다. 바울 2021.07.22 148
250 몽구스 웹서버가 뭔가요? 1 안녕하세요 2020.08.16 101
249 몽구스 서버 외부접속 질문드립니다. 1 명품프로그래머 2017.10.26 277
248 몽구스 관련 질문입니다. 1 류경선 2018.01.20 490
247 목록을 한줄로 나란하게 만드는 법 질문드립니다 3 file 입문한 사람 2020.04.04 260
246 명품 수정판 HTML5+ CSS3+ Javascript 웹 프로그래밍 p.74 메타 데이터 <meta> 문의 1 mikael 2021.05.06 113
245 명품 html5+css3책과 HTML의 차이가 궁금합니다 저자님 2 보안 2019.05.03 328
244 명품 html5+ 수정판 p.89 예제 2-21 파일 다운로드 링크 만들기 실행 오류 문의 1 file mikael 2021.04.15 202
목록
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 ... 21 Next
/ 21
위로