您所在位置: 网站首页 / Get与Post_Cookie与Session.docx / 文档详情
Get与Post_Cookie与Session.docx 立即下载
2024-10-25
约6.9千字
约6页
0
120KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

Get与Post_Cookie与Session.docx

Get与Post_Cookie与Session.docx

预览

免费试读已结束,剩余 1 页请下载文档后查看

16 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Http协议详解
1.HTTP的请求响应模型
HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。(所以才有了Cookie和Session)

HTTP协议永远都是客户端发起请求,服务器回送响应。见下图:
这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。
那么如何实现消息从服务器端主动推送给客户端呢?
1.采用第三方推送,如百度云(或腾讯的信鸽推送)。服务器端把消息给第三方,第三方帮你把消息发给连接到他的并且订阅过你这个主题的客户端
2.打开应用时向服务器发申请,其实还是客户端发起请求,只是这个请求是自动的,用户感觉不到
3.如果应用一直打开,或者有后台服务,可以定时向服务器发申请
1.1请求:Request
服务器端request的从客户端传来的信息
1.2响应:Response
服务器端response给客户端处理之后的信息,都是以服务器端为主体的
2.GET与POST的差别(是以客户端为主体):
GET是客户端获取服务器端的资源(比如要从服务器上获取id=1234的数据的信息,就在url后http://.../id?1234)(一般将需要获取的资源加载URL后面,所以不安全,而且数据量有限,只有1024B。但是执行效率比POST好)
POST是客户端发送给服务器端的资源(比如表单中的数值需要传送给服务器端进行处理)(这些数据一般html的header里面,所以原则上没有大小的限制,当然,不能超过header的容量)
GET有两个特性:安全性和幂等性
安全性意味着该操作用于获取信息而非修改信息。
幂等性意味着对同一URL的多个请求应该返回同样的结果。
换句话说,GET请求一般不应产生副作用。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。
POST请求就不那么轻松了。POST表示可能改变服务器上的资源的请求。仍然以新闻站点为例,读者对文章的注解应该通过POST请求实现,因为在注解提交之后站点已经不同了(比方说文章下面出现一条注解)。
建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式(因为这是从服务器获取数据);而在做数据添加、修改或删除时,建议用Post方式(因为这是向服务器传送数据);
3.Cookie和Session
Cookie和Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问题而所做的努力。
Session可以用Cookie来实现,也可以用URL回写的机制来实现。用Cookie来实现的Session可以认为是对Cookie更高级的应用。
3.1两者比较
Cookie和Session有以下明显的不同点:
Cookie将状态保存在客户端,Session将状态保存在服务器端;
Cookie因为保存在客户端,安全性较低;Session安全性较高;
Cookie不影响服务器性能,但是Session会影响
Session是针对每一个用户的,变量的值保存在服务器上,用一个JsessionID来区分是哪个用户。Session类似与Cache的Map,在有效期内不会被GC。
3.2Session机制
session对象的信息保存在服务器中,但是ID保存在客户机的cookies中如果客户机不支持Cookies则转为URL重写,一般使用session对象时不必考虑其实现的细节问题。
Session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。
当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个sessionid,如果已包含一个sessionid则说明以前已经为此客户端创建过session,服务器就按照sessionid把这个session检索出来使用(如果检索不到,可能会新建一个),如果客户端请求不包含sessionid,则为此客户端创建一个session并且生成一个与此session相关联的sessionid,sessionid的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个sessionid将被在本次响应中返回给客户端保存。
当用户关闭某个Web服务器上所有的网页时,此服务器与客户机的session对象及其变量会自动消失
Session的实现方式
下面的两种方式其实大同小异,一个是在cookie中加上这个sessionId,另一个实在每次的Url中加上
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

Get与Post_Cookie与Session

文档大小:120KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用