search
HomeBackend DevelopmentPHP Tutorial $_COOKIE变量是通过读取cookie文件来取得cookie的值吗?

$_COOKIE变量是通过读取cookie文件来取得cookie的值吗?
将cookie文件删除后为什么$_COOKIE变量的值还存在呢?

回复内容:

$_COOKIE变量是通过读取cookie文件来取得cookie的值吗?
将cookie文件删除后为什么$_COOKIE变量的值还存在呢?

cookie的产生流程是这样的:服务端设置cookie后,返回给浏览器端,浏览器会将cookie保存在客户端本地,浏览器每次向服务端的http请求,都会带上这个cookie,若客户端删除cookie,则发送给服务端的请求中的cookie就是空的,可以观察下浏览器控制台的requuest_header 中的Cookie 字段

<code>session_start();
var_dump($_COOKIE);</code>

上面两行代码就开启了会话了。打开chrome开发者模式

 $_COOKIE变量是通过读取cookie文件来取得cookie的值吗?

那么我试着把cookie干掉

 $_COOKIE变量是通过读取cookie文件来取得cookie的值吗?

新的会话。一个sessionID 可以认为是一个会话 会话之间是没啥关系的

还有 $_COOKIE 这个是系统变量。可百度PHP系统变量。好几个,每个变量是存什么的,有什么分工和职责,这个可以去探究下。

是用户request的header头中的,每次请求都会带上的,

严格来说不是通过读取文件。

浏览器发送请求的时候会把cookie包含在请求头里:

 $_COOKIE变量是通过读取cookie文件来取得cookie的值吗?

然后服务器端解析这个Cookie头,并存到$_COOKIE变量里。

不过不知道你所谓的删除cookie文件具体是怎么操作的。因为cookie文件被删除了,相当于cookie被清空了,这时候理论上浏览器立刻发送请求时,$_COOKIE应该为空。

前端可以设置cookie值,发送http请求时,将带上cookie值发送给服务器端
服务端通过读取http请求的头信息,进行记录或进行数据验证,或设置新的cookie
客户端拿到HTTP请求的回复后,会把cookie值通过set-cookie带回
浏览器再把cookie保存到本地cookie文件中~~~

删除本地的cookie文件,并不意味着发送请求的时候没有cookie信息,取决于前端是否针对本次请求是否设置了cookie
如果设置过了,请求的时候还是会带上发送给服务器,服务器还是能收到~~~

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Performance Tuning for High Traffic WebsitesPHP Performance Tuning for High Traffic WebsitesMay 14, 2025 am 12:13 AM

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

Dependency Injection in PHP: Code Examples for BeginnersDependency Injection in PHP: Code Examples for BeginnersMay 14, 2025 am 12:08 AM

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

PHP Performance: is it possible to optimize the application?PHP Performance: is it possible to optimize the application?May 14, 2025 am 12:04 AM

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

PHP Performance Optimization: The Ultimate GuidePHP Performance Optimization: The Ultimate GuideMay 14, 2025 am 12:02 AM

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Article

Hot Tools

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.