Rumah pembangunan bahagian belakang tutorial php cookie的原理和现象分析

cookie的原理和现象分析

Mar 27, 2018 pm 03:19 PM
cookie ie menganalisis

说到cookie,就得先从http协议说起。那http协议是什么呢?单从字面上理解,协议,即约定,有约定就必须至少有两个参与者,参与者之间的通信就必须按照这样的规范来。

就好比白云和黑土两人在一起,规定以后两人沟通统一用两人约定好的语言去交流,白云伸出左手,那么黑土看到这个动作就会做出判断,哦,原来是要捶腿,于是立马扑上去捶腿。白云伸右手,黑土一看,妈呀,这是要喝水的节奏,于是立马递水过去,此时白云伸出左脚,黑土立马亲一口。两人的沟通正是因为遵循了彼此之间的约定,所以才变得很容易理解与高效执行。

http协议也一样,该协议的参与者是客户端(白云)与服务器端(黑土)。

正是有了http协议,客户端与服务器端之间的通信才变得轻松易懂,试想,如果白云和黑土事先没有按照约定去规范自己的沟通方式,那白云伸出左脚,估计黑土大叔还以为要踢自己呢。

接下里,我们就来看看http协议都有哪些特点?

1、支持客户/服务器模式;

2、简单快速

3、灵活

4、无连接

5、无状态。

支持客户端/服务器端的模式:简单来讲就是支持两个人通信,即支持白云和黑土这两个人相互通话。

简单便捷:就像白云和黑土的沟通,伸左手,伸右手这么简单。http协议也是一样,无论是客户端请求还是服务端响应,设置好对应的消息头,方法,消息体,就能够传达给对方,并且双都能理解对方的意思。

灵活的原因在于HTTP允许传输任意类型的数据对象。传输的类型由Content-Type加以标记即可。

无连接指的是客户端请求服务端,服务端响应完成之后就自动断开连接本次链接。就好比白云伸左手,黑土就过来锤腿,锤完自动走开去忙别的一样。

无状态指的是客户端请求服务端,服务端响应完成之后不会记录任何本次连接通信的数据。就好比白云伸左手,黑土就过来锤腿,锤完腿,你问黑土大叔,你们捶腿的时候都说了些啥,黑土回答:我啥都不记得了。

当然,http协议远远不止这么多,具体的我们后期再说,有了上面的http协议的知识,我们就要引出我们的cookie了。

上面提到,白云和黑土之间约定了自己的沟通方式,很高效也很简单,但是他们的沟通也有一定的问题,那就是http协议的无状态,也就是,黑土大叔给白云捶腿的时候不知道两人之间说了什么,他脑袋不好使,记不住,只记得个别事情,这可不是什么好事儿,比如,捶腿的时候,白云告诉黑土,你手劲儿太大了,捶的我好疼,轻一点,黑头大叔听完,立马手劲儿放小一点,然后锤完走开去忙别的。黑土刚走,白云又伸出左手,黑土赶紧过来捶腿,还是重重的捶着腿,白云急眼了,刚刚不是跟你说过了吗?手放轻点,捶的老娘腿都麻了,黑土大叔一脸懵逼,亲,我真的不记得了。

怎么办?

照这样下去,黑土大叔得把白云气死不可,于是有人提出个建议,白云每次伸手或者伸腿的时候扔出一张纸条,纸条上面记载一些她个人的一些要求,黑土大叔拿到纸条呢,边看纸条边跑来做出相应的响应操作,响应完成后就把纸条还给白云,为的是让白云下次找他的时候可以写上要求同时将这个纸条扔给黑土。

这个办法虽然有些不文雅,倒也是解决了黑土大叔啥都记不住的问题。

得,上面的这张纸条其实就是我们今天要讲的cookie,客户端向服务器发起请求的时候,客户端带上cookie去请求服务端,有了这个cookie,就能记住上一次请求的状态和相关信息,使通信有了状态,有记忆。

很多人在存储一些数据的时候不推荐使用cookie,原因在于每次客户端请求服务端的时候,都会带上cookie信息,cookie虽然通常一个value值只有4K大小,但是量一旦上来就会很费带宽。

那么接下来我们解释下cookie的一些基本工作原理:

cookie主要是通过报头HTTPHeader来传递数据。也就是在请求头和消息头里面传递数据。Cookie机制定义了两种报头:Set-Cookie报头和Cookie报头。set-cookie存在于服务器响应的消息头中。而cookie则存在于客户端请求的消息头中。

cookie的运行流程如下:



(1)客户端在浏览器的地址栏中键入Web服务器的URL,浏览器发送读取网页的请求。

(2)服务器接收到请求后,产生一个Set-Cookie报头,放在HTTP报文中一起回传客户端,发起一次会话。

(3)客户端收到应答后,若要继续该次会话,则将Set-Cook-ie中的内容取出,形成一个Cookie.txt文件储存在客户端计算机里。

(4)当客户端再次向服务器发出请求时,浏览器先在电脑里寻找对应该网站的Cookie.txt文件。如果找到,则根据此Cookie.txt产生Cookie报头,放在HTTP请求报文中发给服务器。

(5)服务器接收到包含Cookie报头的请求,检索其Cookie中与用户有关的信息,生成一个客户端所请示的页面应答传递给客户端。 浏览器的每一次网页请求,都可以传递已存在的Cookie文件,例如,浏览器的打开或刷新网页操作。

这就是cookie的基本工作原理。

另外,在php中设置cookie有两种方式:

1 setCookie函数的调用

2session_start函数的调用

这里稍微解释下session_start做的工作,session_start()一旦写上,服务器端就会在服务器上生成一个文件名叫做session_id的文件,并同时向客户端发送set-cookie报头,内容为phpsessid=服务器上存储session的文件名,即session_id,客户端接到响应就会生成cookie文件,也就是session_start里面其实包含了setCookie的操作,只是没有setCookie那么灵活而已。

相关推荐:

PHP会话控制之cookie详解

cookie的用法详细讲解

一起来学习Cookie

Atas ialah kandungan terperinci cookie的原理和现象分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Di manakah kuki disimpan? Di manakah kuki disimpan? Dec 20, 2023 pm 03:07 PM

Kuki biasanya disimpan dalam folder kuki penyemak imbas antara muka pengurusan kuki yang disediakan oleh penyemak imbas anda untuk melihat dan mengurus kuki.

Di manakah kuki pada komputer anda? Di manakah kuki pada komputer anda? Dec 22, 2023 pm 03:46 PM

Kuki pada komputer anda disimpan di lokasi tertentu pada penyemak imbas anda, bergantung pada penyemak imbas dan sistem pengendalian yang digunakan: 1. Google Chrome, disimpan dalam C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies dll.

Di manakah kuki mudah alih? Di manakah kuki mudah alih? Dec 22, 2023 pm 03:40 PM

Kuki pada telefon mudah alih disimpan dalam aplikasi penyemak imbas peranti mudah alih: 1. Pada peranti iOS, Kuki disimpan dalam Tetapan -> Safari -> Lanjutan -> Data Laman Web pelayar Safari 2. Pada peranti Android, Kuki Disimpan; dalam Tetapan -> Tetapan tapak -> Kuki penyemak imbas Chrome, dsb.

Apakah yang perlu saya lakukan jika win11 tidak boleh menggunakan pelayar ie11? (win11 tidak boleh menggunakan pelayar IE) Apakah yang perlu saya lakukan jika win11 tidak boleh menggunakan pelayar ie11? (win11 tidak boleh menggunakan pelayar IE) Feb 10, 2024 am 10:30 AM

Semakin ramai pengguna mula menaik taraf sistem win11 Memandangkan setiap pengguna mempunyai tabiat penggunaan yang berbeza, ramai pengguna masih menggunakan pelayar ie11 Jadi apa yang perlu saya lakukan jika sistem win11 tidak boleh menggunakan pelayar ie. Adakah windows11 masih menyokong ie11? Mari kita lihat penyelesaiannya. Penyelesaian kepada masalah yang win11 tidak boleh menggunakan pelayar ie11 1. Pertama, klik kanan menu mula dan pilih "Command Prompt (Administrator)" untuk membukanya. 2. Selepas dibuka, terus masukkan "Netshwinsockreset" dan tekan Enter untuk mengesahkan. 3. Selepas pengesahan, masukkan "netshadvfirewallreset&rdqu

Penjelasan terperinci tentang tempat kuki penyemak imbas disimpan Penjelasan terperinci tentang tempat kuki penyemak imbas disimpan Jan 19, 2024 am 09:15 AM

Dengan populariti Internet, kami menggunakan pelayar untuk melayari Internet telah menjadi satu cara hidup. Dalam penggunaan harian penyemak imbas, kita sering menghadapi situasi di mana kita perlu memasukkan kata laluan akaun, seperti membeli-belah dalam talian, rangkaian sosial, e-mel, dsb. Maklumat ini perlu direkodkan oleh penyemak imbas supaya ia tidak perlu dimasukkan lagi pada kali berikutnya anda melawat. Ini adalah apabila kuki berguna. Apakah cookies? Kuki merujuk kepada fail data kecil yang dihantar oleh pelayan ke penyemak imbas pengguna dan disimpan secara setempat Ia mengandungi gelagat pengguna beberapa tapak web.

Analisis sebab mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Analisis sebab mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Mar 13, 2024 pm 06:24 PM

Tajuk: Analisis sebab dan penyelesaian mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Dreamweaver CMS (DedeCMS) ialah sistem pengurusan kandungan sumber terbuka yang berkuasa yang digunakan secara meluas dalam pembinaan pelbagai laman web. Walau bagaimanapun, kadangkala semasa proses membina tapak web, anda mungkin menghadapi situasi di mana direktori sekunder tidak boleh dibuka, yang membawa masalah kepada operasi biasa tapak web. Dalam artikel ini, kami akan menganalisis kemungkinan sebab mengapa direktori sekunder tidak boleh dibuka dan memberikan contoh kod khusus untuk menyelesaikan masalah ini. 1. Analisis sebab yang mungkin: Masalah konfigurasi peraturan pseudo-statik: Semasa penggunaan

Soalan Lazim dan Penyelesaian tentang Tetapan Kuki Soalan Lazim dan Penyelesaian tentang Tetapan Kuki Jan 19, 2024 am 09:08 AM

Masalah dan penyelesaian biasa untuk tetapan kuki, contoh kod khusus diperlukan Dengan perkembangan Internet, kuki, sebagai salah satu teknologi konvensional yang paling biasa, telah digunakan secara meluas dalam laman web dan aplikasi. Kuki, secara ringkasnya, ialah fail data yang disimpan pada komputer pengguna yang boleh digunakan untuk menyimpan maklumat pengguna di tapak web, termasuk nama log masuk, kandungan troli beli-belah, pilihan laman web, dsb. Kuki ialah alat penting untuk pembangun, tetapi pada masa yang sama, tetapan kuki sering ditemui

Bagaimana untuk membatalkan lompat automatik ke Edge apabila membuka IE dalam Win10_Solution ke lompat automatik halaman pelayar IE Bagaimana untuk membatalkan lompat automatik ke Edge apabila membuka IE dalam Win10_Solution ke lompat automatik halaman pelayar IE Mar 20, 2024 pm 09:21 PM

Baru-baru ini, ramai pengguna win10 mendapati bahawa pelayar IE mereka sentiasa melompat ke pelayar tepi secara automatik apabila menggunakan pelayar komputer Jadi bagaimana untuk mematikan lompat ke tepi automatik apabila membuka IE dalam win10? Biarkan tapak ini dengan teliti memperkenalkan kepada pengguna cara melompat ke tepi dan menutup secara automatik apabila membuka IE dalam win10. 1. Kami log masuk ke pelayar tepi, klik... di penjuru kanan sebelah atas, dan cari pilihan tetapan lungsur turun. 2. Selepas kami memasukkan tetapan, klik Penyemak Imbas Lalai di lajur kiri. 3. Akhir sekali, dalam keserasian, kami menandakan kotak untuk tidak membenarkan tapak web dimuat semula dalam mod IE dan mulakan semula pelayar IE.

See all articles