3.PHP核心技术与最佳实践 --- PHP网络技术及应用(cURL,socket,SMTP,WebService,Cookie,Session,localStorage)

cookie :
	存储在客户端的一小段数据。
	cookie 独立于语言存在,也就是说,不管是PHP还是JSP种下的Cookie,其本质都是一样的,客户端脚本(JS)均能读到。cookie 在很多语言都有实现,
  而这些语言则是实现对 cookie 的间接操作,即发送 http 命令,浏览器收到命令变操作cookie 并返回给服务器。因此,cookie是由浏览器实现和管理的。
    比如,使用PHP设置 cookie,它并没有真正的设置过 cookie,它只是发出命令让浏览器来做这件事。
    cookie 上保存 true 或 false 不应该直接使用 boolean 值,而应该使用0表示false,1表示true。
    httpOnly 这个参数,某些时候这可以增强网站的安全性,这个机制是怎么实现的?实际上就是通知浏览器给 cookie 加上个特殊的参数,屏蔽js脚本的读取。
  通过其他方法还是能看到。如果浏览器不支持,即使设置 httpOnly,客户端Js也鞥呢读取到。这完全取决于浏览器怎么做的。
    每个域名下面允许的cookie是有限制的,浏览器不同这个限制也不用。Firefox 一个域名允许存储 150个 cookie, cookie 最大字节数 4097。
    cookie 存储在文件中,一种存储在浏览器缓存中。
  一个域名的每个 cookie 限制以 4kb 键值对的形式存在。有些请求会带上 cookie,造成带宽的不必要浪费。针对以上弊端,使用了本地存储 localStorage。
session :
	session 的实现方式可以有很多种,如 url 重写,cookie, 隐藏表单。
	php 的 session 默认通过问卷的方式实现,文件名如下 : 
	sess_4c....
	后面是随机的,32位编码的字符串。打开后如下:
	变量名|类型:长度:值;

	session 原理:
		session 通过一个叫 PHPSESSID 的 cookie 和服务器联系。session是通过 sessionID 判断客户端用户的,即 session文件的文件名。
		sessionID 实际上是客户端和服务器之间通过 http request 和 http response 穿来穿去。sessionID 按照一定的算法生成,必须包含在
	  http request 里面,保证唯一性和随机性,以确保sesion 的安全。如果没有设置 sesion 的存储器,sessionID 存在内存中,关闭浏览器后
	  该 ID 自动失效;重新请求该页面,会重新注册一个 sessionID。如果客户端没有禁用 cookie,cookie 在启动 sessioin 会话的时候扮演的是
	  存储sessioinID 和 Session 生存期的角色。可以手动设置 sessionID 的生存期。

	session.save_path = '2;/tmp/phpsession'
	/tmp/phpsession 作为 php 的 session 文件存放目录,在该目录下做2级目录散列,每一级目录分别以 0 ~ 9 和 a ~ z 共36个字符作为目录名。
  	session 的回收是被动的,为了保证过期的 session 能被正常回收,可以设置 php 配置文件中的 session_gc_divisor 参数提高回收率。对于设置
  分级目录存储的 session,PHP 是不会自动回收,需要自己实现其回收机制.

 

socket:

 

 

cURL:

 

SMTP :

 

WebService :

 

cookie :

 

session : 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值