码迷,mamicode.com
首页 > Web开发 > 详细

http协议,SESSION,COOKIE

时间:2016-06-27 13:43:47      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

1、http协议:

技术分享

HTTP—超文本传输协议,在TCP协议(长连接、像一个硬件)基础上;

特点:短连接,无状态协议,没法记录本次连接的状态;适用于静态页面的访问,对于后期某些页面是需要浏览器预知客户信息才能登陆的,这是http协议满足不了的,为此引进session和cookie两种方法;

session和cookie并不能使http变为长连接,也就不能从根本上解决http的无状态性,只是暂时辅助,记录本次请求的状态。

2、SESSION:

效果:

比如淘宝登录页面,进入主页面之后,如果15分钟以内不进行任何操作,自动返回登录页面;

实现页面与页面之间的访问限制,如果知道一个主页面的网址,可以直接访问,但是如果有session可以防止访问,if(empty(session["uid"])){header "location:logyemian.php"};

特点:

(1)存储在服务器

(2)每个使用者都会生成一个session

(3)有默认过期时间,15分钟左右

(4)可以存储任何类型数据

3、COOKIE

特点:

(1)存储在客户端;当你访问一些页面的时候,会把一些信息存储在自己的电脑上,当清除浏览信息时会有提示

(2)每个使用者会生成一个cookie

(3)默认没有过期时间,可以设置

(4)只能存储字符串

相对而言,session方式将用户数据存储在服务器上更安全,但对服务器的压力大。

4、使用

(1)session:

session_stat();//使用session的页面必须在第一行代码开启session

$_SESSION["uid"]="张三";//赋值

echo $_SESSION["uid"];//取值

注意:

只要一个页面执行了session赋值,那么其他页面都能获取到这个值,因为session是存在服务器上。

存储方式不一样获取方式也就不一样,多个用户可以用多个标识存session,每一个标识如session["uid"]都是一个数组。

session只能在同一个浏览器取到,在这个浏览器赋值,在另一个浏览器取值是取不到的;

session在关闭浏览器的时候,自动清空;

一个浏览器只能登陆一个用户名,多个浏览器可以登陆多个;

(2)COOKIE

setcookie("name","值");//赋值

echo $_COOKIE["name"];//取值

一个页面赋值其他页面都能取到;

注意:做程序时候,一定要先选用一种会话控制(session/cookie)

 

实例1:做一个完整的登录页面(防止绕过登录页面,进入主页面)

(因为对于登录页面,输入用户名和密码-->主页面,如果没有会话控制,只要输入主页面网址,就可直接访问,所以有bug)

 

http协议,SESSION,COOKIE

标签:

原文地址:http://www.cnblogs.com/jinshui/p/5619794.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!