标签:访问 html post 添加 增加 tool png 根据 方法
这就需要从HTTP状态协议 的无状态性开始说起了。 无状态协议是指协议对事物处理没有记忆能力 ,简单说来就是每个HTTP请求都是独立的,每个请求都只处理自己的信息,不与其他的请求发生关系。
HTTP是超本文传输协议,顾名思义,这个协议支持超文本的传输。 什么是超文本?简单来说就是使用HTML编写的页面。 HTTP协议的目的是在于支持超文本的传输,也就是资源的传输,客户端浏览器向HTTP服务器发送请求,继而HTTP服务器将相信资源发回给客户端这样一个过程中,无论对于客户端还是服务器,都没有必要记录这个过程 。所以HTTP协议被设计为无状态的协议是符合其要求的。
在早期的互联网,这就够了,但是随着互联网的发展,简单的资源传输不能满足用户的需求了,用户需要更丰富的需求。这时,cookie和session登场了,它们被设计用来为用户保存状态。
cookie是客户端保持状态的解决方案 ,第一次连接后, 服务器发送资源的同时也发送了一些cookie到用户浏览器,它们是保存在本地的一小块数据 ,在浏览器下次向同一个服务器再次发送请求的时候,cookie会被放在请求头中发送到服务器。
这是访问Google的请求头信息,可以看到有一个Cookie字段,后面是一串很长的字符。
这是Google在本地存储的cookie,简单介绍一下这个表格中的部分:
有了cookie这样的技术实现,服务器在接收到来自客户端浏览器的请求之后,就能够通过分析存放于请求头中的cookie信息得到来自客户端特有的信息,从而动态生成与客户端相对应的内容。
session是相对于cookie的另外一个解决方案,它是通过服务器来保持状态的。
session是服务器端程序运行的过程中创建的,不同语言实现的应用程序有不同创建session的方法。在创建了session的同时,服务器会为该session生成唯一的sessionId,而这个sessionId被创建了之后,就可以调用session相关的方法往session中增加内容了,而这些内容只会保存在服务器中,发送到客户端的只有sessionId。当客户端再次发送请求时,会将这个sessionId带上,服务器收到请求之后就会根据sessionId找到对应的session,从而再次使用。这样的一个过程,让用户的状态得以保持。
cookie和session各有特点,我们需要根据其特点合理使用它们。
cookie和session的不同:
cookie的几个缺点:
session的几个缺点:
cookie和session的出现是为了在无状态的HTTP请求中添加状态,使得服务器能够对客户端更加的了解。它的手段是在浏览器在本地存储cookie,在之后对满足要求的请求添加相应的cookie字段。本质上就是一个表明身份的标志。如果不使用cookie,我们也可以在请求URL中添加标志信息,或者在post请求体里面增加标志信息,只要能够表明身份,就可以做到和cookie类似的效果。
标签:访问 html post 添加 增加 tool png 根据 方法
原文地址:https://www.cnblogs.com/acgq/p/11961195.html