浅析php中session和cookie的区别和联系
在php中session和cookie其实是没什么关系了,但是区别还是很大的,下面我来给各位同学介绍session和cookie的区别和联系.
首先谈谈cookie吧,百度百科是这样定义的:是网站为了辨别用户身份、进行session跟踪而存储在用户本地终端上的数据(通常经过加密)。
php中生成一个cookie的方法很简单:setcookie(name, value, expire, path, domain);
name:cookie中定义的名字。
value:cookie中对name所保存的值。这个值保存在了用户的终端;不要保存敏感信息(个人重要信息,金钱)。
expire:cookie中名值对保存的过期时间,这个值是以时间戳的形式保存下来的。
path:cookie值保存的有效路径,如果设置成 ‘/’ 那么对整个项目都有效,如果设置成 ‘/foo/’ 那么cookie的有效路径在foo以及其下属文件,如果没有做任何设置那么他的有效路径是当前文件夹。
domian:cookie可用的域名范围。
setcookie('site_name', 'IT博客');//设置一个cookie:site_name他的值是IT博客,这样就建立了一个会话,不过这个cookie保存在了内存中随着浏览器的关闭而销毁。
setcookie('site_name', 'IT博客', time() + 86400);//设置cookie并将他的过期时间设置为一天后,这样的会话会将cookie的值保存到硬盘中,关闭浏览器,一天内cookie在浏览器打开的时候还是有效的。
?> 写到这里想起了以前同事在项目中遇到的问题:比如我有一个功能用户浏览的前10个页面我要在页面中显示用于提示用户浏览过的页面,这里面就用到了cookie,用户浏览的页面大于10个之后会做分割只取前10个,array_slice可以帮到你,array_slice切割完之后cookie中保存的页面信息是不是减少了呢?可能会有这个疑问。带着这个疑问咱们说说cookie的销毁方式吧。
cookie销毁方式一:将cookie值设置为空。
setcookie('site_name', '');
?> cookie销毁方式二:将cookie值设置为过期时间。
setcookie('site_name', 'IT博客', time() - 86400);
?> 看到这里你说array_slice会不会切割cookie中的值,使cookie的值减少呢?
下面说一说session:session是一种服务器的机制,服务器使用一种类似于散列表的结构来保存信息,每一个网站的访客都会被赋予一个唯一的标识符进行识别(回话ID)。他的存放形式有两种:1是url传递,2是cookie保存。
php中常用的session的函数中最重要的就是session_start(),没有开启session的话一切都免谈。
php.ini中也有一些session的设置比如:
session.save_handler = files —— session的保存形式以文件形式保存。
session.save_path = “N;/path” ——— session文件的保存路径,这个路径需要自己创建且有写入的权限。其中N;/path中的N必须是一个整数这样可以使session文件保存在不同的目录中,这对于服务器处理大量的session文件是有帮助的。
session和cookie的区别:
1.session保存在服务器端,通过session.save_path可以设置session文件在服务器的位置。
2.cookie保存在客户端,分为临时会话(关闭浏览器则销毁,保存在内存)、持久性会话(在有效期内一直可以调用,保存在硬盘上)。
3.session相对cookie要安全一些,不过大量的session也会导致服务器的压力。
session和cookie的联系:
session的有效执行有两种方式:一是与cookie进行交互,二是通过url传递。
ps:sessionid是一个很有用有时候也会导致问题的一个标识,有一次通过ajax发送50多个请求通过socket请求数据,在php端socket返回数据有时候会比较慢,虽然ajax是异步的请求但是在php端就不一样了,先来的会把后来的请求堵在后面,其中的标识符就是sessionid,由于这个sessionid导致了php端的顺序处理增加了用户的等待时间,致使用户体验较差。其中的解决方案是用session_write_close()断开sessionid的链接。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.
