六、web应用程序技术——编码

news2025/1/11 16:48:32

文章目录

  • 一、状态与会话
  • 二、编码方案
    • 2.1 URL编码
    • 2.2 Unicode编码
    • 2.3 HTML编码
    • 2.4 Base64编码
    • 2.5 十六进制编码

一、状态与会话

  web应用程序服务器和客户端组件除了以各种方式进行数据交换和处理,应用程序还需要追踪每位用户通过不同的请求与应用程序交互的状态。例如,一个购物应用程序允许用户浏览产品目录、往购物车内添加商品、查看并更新购物车内容等。

  为实现这些功能,应用程序必须维护一组在提交各种请求过程中由用户操作生成的有状态数据。这些数据通常保存在一个叫做会话的服务器端结构中,当用户执行一个操作时,服务器端应用程序会在用户会话内更新相关信息。以后用户查看购物车内的内容时,应用程序就使用会话中的数据向用户返回正确的信息。

二、编码方案

2.1 URL编码

  URL只允许US-ASCII字符集中的可打印字符(也就是ASCII代码在0x20~0x7e范围内的字符),而且,由于其在URL方案或HTTP协议内具有特殊含义,这个范围内的一些字符也不能用在URL中。

  URL编码方案主要用于对拓展ASCII字符集中的任何有问题的字符进行编码,使其可通过HTTP安全传输。任何URL编码都是以%为前缀,其后时这个字符的两位十六进制ASCII代码。常见的一些URL编码字符如下:

  • %3d代表=;
  • %25代表%;
  • %20代表空格;
  • %0a代表新行;
  • %00代表空字节;

“+”也代表空格

2.2 Unicode编码

  为方便HTTP传输,16位unicode编码的字符以%u为前缀,其后是这个字符的十六进制Unicode码点。例如:%u2215代表/。

UTF-8是一种长度可变的编码标准,它使用一个或多个字节表示每个字符,UTF-8编码的多字节字符以%为前缀,其后用十六进制表示每个字节,如:
在这里插入图片描述

2.3 HTML编码

  HTML编码是一种用于表示问题字符以将其安全并入HTML文档的方案。有许多字符具有特殊的含义,并被用于定义文档结构而非其内容,为安全使用这些字符,就需要将其用在文档中,就需要对齐进行HTML编码。HTML编码定义了大量HTML实体来表示特殊的字面量字符,如:

在这里插入图片描述

  此外,任何字符可以使用它的十进制ASCII码进行HTML编码,例如:

在这里插入图片描述

  或者使用十六进制的ASCII码(以x为前缀),例如:

在这里插入图片描述

2.4 Base64编码

  Base64编码仅用一个可打印的ASCII字符就可以安全转换成任何二进制数据,它常用于对电子邮件附件的编码,使其通过SMTP安全传输。它还可用于在基本HTTP验证机制中对用户证书进行编码。

  Base64编码将输入数据转换成三个字节块,每个字节块被划分为四段,每段六个数据位。这六个数据位有64种不同的排列组合,因此每个段可以使用一组64个字符表示。Base64编码使用以下字符集,其中只包含可打印的ASCII字符:
在这里插入图片描述
  如果最后的输入数据块不能构成三段输出数据,就用一个或两个等号(=)补足输出。

2.5 十六进制编码

  许多应用程序在传送二进制数据时直接使用十六进制编码,用ASCII字符表示十六进制数据块。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/859109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

appuploader使用教程

转载:appuploader使用教程 目录 问题解决秘籍 登录失败 don’t have access,提示没权限或同意协议 上传后在app管理中心找不到版本提交 不是等待上传状态 提示已经上传过包 上传提示tcpPort or udpPorts错误 上传提示已经有进程在上传 保存上传专用密码提示…

Oracle 开发篇+Java通过DRCP访问Oracle数据库

标签:DRCP、Database Resident Connection Pooling、数据库驻留连接池释义:DRCP(全称Database Resident Connection Pooling)数据库驻留连接池(Oracle自己的数据库连接池技术) ★ Oracle开启并配置DRCP sq…

通义千问开源模型部署使用

首先可以参考modelScope社区给出的使用文档,已经足够全面 通义千问-7B-Chat 但在按照文档中步骤部署时,还是有些错误问题发生,可以搜索参考的解决方式不多,所以记录下来 个人电脑部署 这里不太建议使用自己的笔记本部署通义千…

【墙裂推荐!】十款开源测试开发工具(自动化、性能、造数据、流量复制)​

目录 1、AutoMeter-API 自动化测试平台 2、QA Wolf 浏览器自动化测试工具 3、Mimesis 用于 Python 的高性能虚假数据生成器 4、Ddosify 高性能负载测试工具 5、AutoCannon HTTP/1.1 基准测试工具 6、Sharingan 流量录制回放工具 7、randdata 随机测试数据生成工具 8、D…

【求两个数二进制中不同位的个数】

求两个数二进制中不同位的个数 1.题目 编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子:1999 2299 输出例子:7 2.题目分析 先将m和n进行按位异或,此时m和n相同的二进制比特位…

多线程知识点总结

这个更清晰一点 JAVA多线程-ProcessOnhttps://www.processon.com/mindmap/64d06633b9f7806c73e70d92

统计列表加小计

提供个思路,欢迎其他大佬指正 注意使用 排序(seq),group by,union all SELECTf.* FROM(SELECTcus_id,max( cusname ) cusname,NULL dodate,sum( money ) sumMoney,NULL payed,NULL unpayed,1 seq FROMtb_outbase GRO…

如何在群辉NAS系统下安装cpolar套件,并使用cpolar内网穿透?

如何在群辉NAS系统下安装cpolar套件,并使用cpolar内网穿透? 文章目录 如何在群辉NAS系统下安装cpolar套件,并使用cpolar内网穿透?前言1. 在群辉NAS系统下安装cpolar套件2. 管理隧道列表3. 创建固定数据隧道 前言 群晖作为大容量存储系统,既可…

uniapp开发小程序-分包(微信错误码:800051)

在使用uniapp开发小程序时,上传的时候因为文件过大,显示上传失败。 以下是开发过程中遇到的问题及解决方法: 1. 问题一:因为文件过大,显示上传失败 ①尝试过把本地使用的图片压缩到最小; ②把图片转换为网…

某运动APP的登录协议分析

前言 最近在尝试逆向方向相关的探索,针对某款运动APP的登录协议进行了分析,此文记录一下分析过程与结果,仅供学习研究,使用的工具较少,内容也比较简单,新手项,大佬请跳过。针对密码登录模块进行…

SpringBoot整合WebSocket实现定时任务消息推送

在平时项目开发中,肯定有很多小伙伴会需要实现定时向某个页面推送消息的功能,为了解决大家无从下手的问题,加哥今天展示一套简单的代码解决方案。 1.创建WebSocketConfig配置类 在这个类中注入ServerEndpointExporter,这个bean会…

vmwera中安装的centos8出现ifconfig不可用

刚刚在虚拟机中装好centos结果发现自己的ifconfig命令不可用。 看一下环境变量里有没有ifconfig命令的路径,因为ifconfig是在/sbin路径下的,root用户登录进去才可以运行,先看一下root用户的环境变量。 root用户的环境变量里是有/sbin路径的&a…

数据链路层 -帧结构

帧结构 802.3 有线网卡的帧格式802.11 无线网卡的帧格式 802是指一个国际标准委员会 IEEE 802 帧头主要包括三个部分: 目标MAC(6个字节)源MAC (6个字节)类型 (包含两种类型:0x0800【IP协议】 …

【生成式AI】ProlificDreamer论文阅读

ProlificDreamer 论文阅读 Project指路:https://ml.cs.tsinghua.edu.cn/prolificdreamer/ 论文简介:截止2023/8/10,text-to-3D的baseline SOTA,提出了VSD优化方法 前置芝士:text-to-3D任务简介 text-to-3D Problem text-to-3D…

关于Postman如何配置随请求携带token

文章目录 一些吐槽实际应用 一些吐槽 首先吐槽一下 postman官网的文档说明,真是乱七八糟,一点都不清晰,能不能好好写用户手册啊(比如把用户都当作初始小白) 然后吐槽一下网上铺天盖地让我写js脚本应用全局access toke…

leetcode - 75. 颜色分类(java)

颜色分类 leetcode - 75. 颜色分类题目描述双指针代码演示 双指针算法专题 leetcode - 75. 颜色分类 难度 - 中等 原题链接 - 颜色分类 题目描述 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻&…

Ansys Lumerical | 米氏散射 FDTD

计算平面波激发的纳米粒子的散射和吸收截面、局部场增强和远场散射分布(Mie 散射)。将截面和远场结果与解析解进行比较,以验证仿真的准确性。(联系我们获取文章附件) 概述 纳米粒子的散射特性通常用场增强、横截面和远…

AtcoderABC223场

A - Exact PriceA - Exact Price 题目大意 高橋的钱包里只有一个或多个100日元硬币,没有其他的东西。现在给定一个金额X,需要判断是否可能存在这样的情况,使得钱包中的总金额是X日元。 思路分析 根据题目要求,钱包中只有100日元…

【Yolov5+Deepsort】训练自己的数据集(2)| 目标检测追踪 | 轨迹绘制

📢前言:本篇是关于如何使用YoloV5Deepsort训练自己的数据集,从而实现目标检测与目标追踪,并绘制出物体的运动轨迹。本章讲解的为第二部分内容:训练集的采集与划分,Yolov5模型的训练。本文中用到的数据集均为…

【C语言学习——————文件处理操作的简单介绍与讲解】

欢迎阅读新一期的c语言学习模块————文件处理操作 ✒️个人主页:-_Joker_- 🏷️专栏:C语言 📜代码仓库:c_code 🌹🌹欢迎大佬们的阅读和三连关注,顺着评论回访🌹&#…