码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【计算机网络笔记】Cookie技术


    系列文章目录

    什么是计算机网络?
    什么是网络协议?
    计算机网络的结构
    数据交换之电路交换
    数据交换之报文交换和分组交换
    分组交换 vs 电路交换
    计算机网络性能(1)——速率、带宽、延迟
    计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
    计算机网络体系结构概念
    OSI参考模型基本概念
    OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
    OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
    TCP/IP参考模型基本概念,包括五层参考模型
    网络应用的体系结构
    网络应用进程通信
    网络应用对传输服务的需求
    Web应用之HTTP协议(涉及HTTP连接类型和HTTP消息格式)


    • 系列文章目录
    • Cookie技术为什么会诞生?
    • Cookie技术是什么?
    • Cookie的组件
    • Cookie的原理
    • Cookie的用途
    • Cookie存在的问题


    Cookie技术为什么会诞生?

    前面提过,HTTP协议是无状态的,也就是说服务器不会记录客户机的历史行为。但是很多应用是需要记录用户的会话的,比如网上购物,如果是无状态的,那购物车是怎么实现的?

    显然,原有的HTTP协议已经不够用了,就引入了新的技术,即Cookie技术。它是架设在HTTP协议上的。


    Cookie技术是什么?

    某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。(RFC6265)


    Cookie的组件

    • 在HTTP响应消息中添加cookie头部行

    • 在HTTP请求消息中添加cookie头部行

    • 在客户端主机上建立一个cookie文件,并且由浏览器管理

    • 在服务器端建立后台数据库


    Cookie的原理

    在这里插入图片描述

    假定一个用户原来没有访问过Amazon网站。浏览器这边有一个cookie文件,里面现在只有一行信息,还没有任何跟Amazon网站相关的信息。客户端首先使用常规的http请求消息(不带cookie头部行),当服务器收到这个请求后,它发现没有cookie,说明请求方这是一个新用户,那就给这个用户创建一个ID号,比如图中的1678,然后将用户的信息和ID号放到数据库中记录下来。然后在返回的响应消息里面的头部行中添加Set-cookie字段,它的值就是前面创建的ID号。浏览器收到这个响应消息后将这一行解析出来,然后在自己的cookie文件中加上:amazon:1678,记录自己在Amazon这个网站上唯一的标识号。再次访问这个网站的时候,请求消息的头部行中就增加了一行:cookie:1678。这时服务器收到这个请求消息并解析后就知道这是1678那个用户,就去数据库中查询这个用户相关的信息。这个时候服务器就可以做出面向用户(cookie)特定的动作。

    我们都经历过这种情况,比如网站会根据我们买过什么或看过什么来推送一些其他东西和内容。


    Cookie的用途

    • 用于身份认证。让我们可以短期时间内登录都不需要用户名和密码。
    • 购物车。保存我们之前添加过的东西。
    • 推荐。根据我们的浏览记录推送相关内容。
    • ……

    可以说cookie无处不在。


    Cookie存在的问题

    最大的问题就是隐私问题。我们的一举一动都是被检测和记录的。我们的这些数据可能被有意或无意的泄露。

    所以很多IT厂商都在研究cookie的替代技术。

  • 相关阅读:
    【CKS】考试之 kube-bench CIS 基准测试
    .Net面试经验总结
    AI ChatGPT 各大开放平台一览 大模型 Prompt
    半导体器件结构测试稳定性中的加氢效应是什么
    TMS320F28374S之ADC一
    OkHttp原理分析总结
    大数据Hadoop系列之Hadoop Web控制台添加身份验证
    前后端分离项目(vue+springboot)集成pageoffice实现在线编辑office文件
    areadetector ADURL模块应用在面探测控制的初步应用
    springboot+java大学生西部计划志愿者岗位补助管理系统
  • 原文地址:https://blog.csdn.net/m0_60511809/article/details/133992769
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号