Antworten:
Der Server sendet in seinem Antwortheader Folgendes, um ein Cookie-Feld festzulegen.
Set-Cookie:
Name =
Wert
Wenn ein Cookie gesetzt ist, sendet der Browser Folgendes in seinem Anforderungsheader.
Cookie:
Name =
Wert
Weitere Informationen finden Sie im HTTP-Cookie- Artikel bei Wikipedia.
Cookies werden als HTTP-Header sowohl in der Anforderung (Client -> Server) als auch in der Antwort (Server -> Client) übergeben.
Abgesehen von dem, was in anderen Antworten geschrieben steht, werden andere Details in Bezug auf den Pfad des Cookies, das maximale Alter des Cookies, ob es gesichert ist oder nicht, auch im Set-Cookie-Antwortheader übergeben. Zum Beispiel:
Set-Cookie:
Name =
Wert [ ; expires=
Datum ] [ ; domain=
Domain ] [ ; path=
Pfad ] [ ; secure
]
Bei der nächsten HTTP-Anforderung werden jedoch nicht alle diese Details vom Client an den Server zurückgegeben.
Sie können auch das HttpOnly
Flag am Ende Ihres Cookies setzen, um anzuzeigen, dass Ihr Cookie nur http ist und in Skripten mit Javascript-Code nicht darauf zugreifen darf. Dies hilft, Angriffe wie Sitzungsentführungen zu verhindern.
Weitere Informationen finden Sie unter RFC 2109 . Schauen Sie sich auch den Artikel von Nicholas C. Zakas an, in dem HTTP-Cookies erklärt werden .
Beispielskript erstellen als:
#!/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"
dann ausführbar machen und so ausführen.
./resp | nc -l -p 12346
Öffnen Sie den Browser und durchsuchen Sie die URL: http: // localhost: 1236. Sie sehen den Cookie-Wert, der vom Browser gesendet wird
[aaa @ bbbbbbbb] $ ./resp | nc-l-p 12346 GET / HTTP / 1.1 Host: xxx.xxx.xxx.xxx:12346 Verbindung: am Leben bleiben Cache-Kontrolle: maximales Alter = 0 Akzeptieren Sie: Text / HTML, Anwendung / xhtml + xml, Anwendung / xml; q = 0,9, Bild / Webp, * / *; q = 0,8 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla / 5.0 (Windows NT 6.1) AppleWebKit / 537.36 (KHTML, wie Gecko) Chrome / 49.0.2623.112 Safari / 537.36 Accept-Encoding: gzip, deflate, sdch Akzeptiersprache: en-US, en; q = 0,8, ru; q = 0,6 Cookie: Name = F.