답변:
쿠키는 요청 (클라이언트-> 서버)과 응답 (서버-> 클라이언트) 모두에서 HTTP 헤더로 전달됩니다.
다른 답변에 쓰여진 것 외에도 쿠키 경로, 쿠키의 최대 수명, 보안 여부에 관계없이 Set-Cookie 응답 헤더로 전달되는 다른 세부 정보. 예를 들어 :
Set-Cookie:
이름 =
값 [ ; expires=
날짜 ] [ ; domain=
도메인 ] [ ; path=
경로 ] [ ; secure
]
그러나 다음 HTTP 요청을 할 때 이러한 세부 정보가 모두 클라이언트에 의해 서버로 다시 전달되는 것은 아닙니다.
HttpOnly
쿠키가 끝날 때 플래그를 설정 하여 쿠키가 httponly이고 스크립트에서 javascript 코드로 액세스 할 수 없음을 표시 할 수 있습니다. 세션 하이재킹과 같은 공격을 방지하는 데 도움이됩니다.
자세한 내용은 RFC 2109를 참조하십시오 . 또한 HTTP 쿠키가 설명하는 Nicholas C. Zakas의 기사를 살펴보십시오 .
예제 스크립트를 resp로 작성하십시오.
#!/bin/bash
http_code=200
mime=text/html
echo -e "HTTP/1.1 $http_code OK\r"
echo "Content-type: $mime"
echo
echo "Set-Cookie: name=F"
그런 다음 실행 파일을 만들고 이와 같이 실행하십시오.
./resp | nc -l -p 12346
브라우저를 열고 URL을 검색하십시오 : http : // localhost : 1236 브라우저에서 보낸 쿠키 값이 표시됩니다
[aaa @ bbbbbbbb] $ ./resp | nc -l -p 12346 GET / HTTP / 1.1 호스트 : xxx.xxx.xxx.xxx:12346 연결 : 연결 유지 캐시 제어 : max-age = 0 수락 : text / html, application / xhtml + xml, application / xml; q = 0.9, image / webp, * / *; q = 0.8 업그레이드 안전하지 않은 요청 : 1 사용자 에이전트 : Mozilla / 5.0 (Windows NT 6.1) AppleWebKit / 537.36 (Gcko와 같은 KHTML) Chrome / 49.0.2623.112 Safari / 537.36 수락 인코딩 : gzip, deflate, sdch 수락 언어 : en-US, en; q = 0.8, ru; q = 0.6 쿠키 : name = F