这是我今天在采访中提出的一个问题,
但我不确定答案。
答案 0 :(得分:2)
是。 Cookie是一种浏览器/服务器http技术,完全与客户端脚本无关。
Cookie的主要(或至少是初始)用途是设置服务器端的值并在服务器端读取它。
但客户可能会在浏览器中禁用Cookie。
答案 1 :(得分:1)
答案是肯定的。防弹推导如下:
Cookie作为HTTP标头发送 通过Web服务器到Web浏览器和 然后发送回来不变 浏览器每次访问它 服务器
要访问页面http://www.example.org/index.html
,浏览器会连接到服务器www.example.org
,向其发送如下所示的请求:
GET /index.html HTTP/1.1
Host: www.example.org
服务器通过发送所请求的页面来回复,该页面前面有一个类似的文本包,称为“HTTP响应”。此数据包可能包含请求浏览器存储cookie的行:
HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: name=value
(content of page)
仅当服务器希望浏览器存储cookie时,服务器才会发送行Set-Cookie
。 Set-Cookie
是浏览器存储字符串name=value
的请求,并在将来的所有请求中将其发送回服务器。如果浏览器支持cookie并且启用了cookie,则对同一服务器的每个后续页面请求都将包含cookie。例如,浏览器通过向服务器http://www.example.org/spec.html
发送如下请求来请求页面www.example.org
:
GET /spec.html HTTP/1.1
Host: www.example.org
Cookie: name=value
Accept: */*
来源和进一步阅读:Wikipedia: HTTP Cookie
答案 2 :(得分:1)
Cookie只是一个典型的HTTP标头。每当您的浏览器请求某个网站时,它会发送如下所示的请求标头:
GET /questions/2476288/will-cookie-be-available-wh...
Host: stackoverflow.com
....
Accepted-Languages: ....
Accepted-Encoding: ....
....
Cookies: cookie1=value1;cookie2=value2
因为你可以看到cookie是HTTP协议的一部分而不是JS,但JS能够创建/删除/修改cookie。换句话说:来自JS的cookie 独立。
答案 3 :(得分:0)
如果使用服务器端脚本设置cookie,即使Javascript被禁用,网站也可以设置cookie。
PHP示例:
setcookie('test', 'test');
然后将cookie作为HTTP标头发送到站点,除非它们在浏览器中被禁用。 Javascript是否被禁用无关紧要。
答案 4 :(得分:-1)
是(虽然您无法使用JS进行设置或阅读)