HTTP URL编码

这篇具有很好参考价值的文章主要介绍了HTTP URL编码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


HTTP URL编码

URL 就是平时我们所说的网址,一般来说 URL 只能使用英文字母、阿拉伯数字和一些英文的标点符号组成。其实在网络中 URL 并不是可以直接拿来使用的,因为 URL 中可以携带一些参数,出于安全考虑,需要使用 ASCII 字符集对其编码后才可以使用。

ASCII 的全称是 American Standard Code for Information Interchange,中文是“美国信息交换标准代码”的意思,它是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。ASCII 是最通用的信息交换标准,ASCII 第一次发表是在 1967 年,最后一次更新则是在 1986 年,到目前为止共定义了 128 个字符。

URL 的编码原则是,使用安全的字符(没有特殊用途或者特殊意义的字符)来表示那些不安全的字符。只有英文字母(a-zA-Z)、数字(0-9)、- _ . ~4 个特殊字符以及所有保留字符才可以不经编码直接使用。

在 URL 编码的过程中,会执行以下操作步骤:

  • 将所有认为“不安全”的字符转换为“%xx”的形式,其中 xx 是字符的十六进制 ASCII 值;
  • 将空格转换为加号或者“%20”,将加号转换为“%2B”。

下表中列出了要替换的字符、ASCII 码和替换后的字符。

要转换的符号 ASCII 码 转换后的字符 要转换的符号 ASCII 码 转换后的字符
退格 08 %08 O 79 O
tab 缩进 09 %09 P 80 P
换行 10 %0A Q 81 Q
回车 13 %0D R 82 R
空格 32 %20 或 + S 83 S
! 33 %21 T 84 T
" 34 %22 U 85 U
# 35 %23 V 86 V
$ 36 %24 W 87 W
% 37 %25 X 88 X
& 38 %26 Y 89 Y
39 %27 Z 90 Z
( 40 %28 [ 91 %5B
) 41 %29 \ 92 %5C
* 42 * ] 93 %5D
+ 43 %2B ^ 94 %5E
44 %2C _ 95 _
- 45 - . 96 %60
. 46 . a 97 a
/ 47 %2F b 98 b
0 48 0 c 99 c
1 49 1 d 100 d
2 50 2 e 101 e
3 51 3 f 102 f
4 52 4 g 103 g
5 53 5 h 104 h
6 54 6 i 105 i
7 55 7 j 106 j
8 56 8 k 107 k
9 57 9 l 108 l
: 58 %3A m 109 m
; 59 %3B n 110 n
< 60 %3C o 111 0
= 61 %3D p 112 p
> 62 %3E q 113 q
? 63 %3F r 114 r
@ 64 %40 s 115 s
A 65 A t 116 t
B 66 B u 117 u
C 67 C v 118 v
D 68 D w 119 w
E 69 E x 120 x
F 70 F y 121 y
G 71 G z 122 z
H 72 H { 123 %7B
I 73 I l 124 %7C
J 74 J } 125 %7D
K 75 K ~ 126 %7E
L 76 L delete 127 %7F
M 77 M >127 用“%xx”格式的编码表示,其中“xx”是字符的十六进制 ASCII 值
N 78 N

以请求“http://www.csdn.net/HTTP URL”这一 URL 为例,因为 URL 中包含一个空格,所以在请求时会把这个空格转换为“%20”,具体的 HTTP 请求如下所示:

GET /HTTP%20URL HTTP/1.1
Host: www.csdn.net
...

前面主要介绍的主要是纯英文的 URL,那如果 URL 中包含中文的话该怎么办呢?由于 ASCII 字符集中并不包含中文的编码,所以客户端会将 URL 里面的中文进行 UTF-8 编码,例如“中”字的 UTF-8 编码为“E4 B8 AD”,那么经过客户端转码后“中”字会被转换为“%E4%B8%AD”。以访问“http://www.csdn.net/?name=“CSDN博客”这一 URL 为例,HTTP 请求如下所示:

GET /?name=C%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91 HTTP/1.1
Host: www.csdn.net
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1

通过上面的 HTTP 请求可以看出,客户端直接将 URL 中的“CSDN博客”转换成了“C%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91”。文章来源地址https://www.toymoban.com/news/detail-411357.html

到了这里,关于HTTP URL编码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 灰度图像和彩色图像是怎么来的?如何计算一张图片的大小?像素和分辨率分别是什么?它们之间有什么关系?我们平时所说显示器的1080p、2k和4k分别指的是什么?

    灰度图像和彩色图像是怎么来的?如何计算一张图片的大小?像素和分辨率分别是什么?它们之间有什么关系?我们平时所说显示器的1080p、2k和4k分别指的是什么?今天我们就来探讨一下这些问题。 首先我们来看一下一张图片是怎么样形成的? 平时我们看到的图像其实是由

    2024年02月09日
    浏览(57)
  • 还儿童一个健康上网环境,正式开启我的路由器URL网址白名单之旅

    URL黑名单总会有漏洞,而且还有个不好的地方是会诱惑小孩花大量时间和精力去不停的尝试。 唯有URL白名单才能彻底解决烦恼! 就像很多大人一样,很多事情唯有让他撞了南墙,彻底死心了才愿放弃! 当然如果能做的到对小孩正确引导是最好也是最省心的! 在建立URL白名单

    2024年02月16日
    浏览(92)
  • URL编码揭秘:为什么要进行URL编码?

    URL(Uniform Resource Locator,统一资源定位符)是互联网上资源地址的唯一标识符。在网络请求和数据传输过程中,URL编码起着至关重要的作用。 URL编码解码 | 一个覆盖广泛主题工具的高效在线平台(amd794.com) https://amd794.com/urlencordec 一、URL编码的起源与发展 URL编码起源于1960年代

    2024年02月03日
    浏览(41)
  • URL编码和Base64编码

    数据操作过程中,经常涉及到编码与解码等相关操作,如web请求时会对 url进行编码 ,其中的中文等字符会转义为其他内容;中文字符串数据传输时,会将其使用 base64编码 并在接收后解码,以避免乱码的出现。 URLDecoder 和 URLEncoder 用于普通字符串 和 application/x-www-form-urlenco

    2024年02月02日
    浏览(57)
  • golang通过http访问外部网址

    不同项目之前,通过http访问,进行数据沟通 先设定一个接口,确认外部能访问到 PHP写一个接口 返回效果: 封装的函数 上层访问接口 因为要将请求到的数据,进行处理,所以需要提前定义一个结构体来接受处理这些数据 效果 封装函数 这里的访问方式,我写死了,设置成了json格式,有

    2024年02月22日
    浏览(34)
  • URL编码算法:解决特殊字符在URL中的烦恼

    URL编码算法是一种将URL中的特殊字符转换为特定格式的编码方式。它在网络传输中起到了保护数据安全与完整性的重要作用。本文将深入探讨URL编码算法的优点与缺点,并介绍它在Web开发、网络安全等方面的应用。 URL编码解码 | 一个覆盖广泛主题工具的高效在线平台(amd794.

    2024年02月19日
    浏览(40)
  • URL在线编码/解码工具

    一刀工具箱提供在线URL编码解码工具:对网址Url进行UrlEncode编码转换,UrlEncode编码,UrlDecode解码。  代码片段 URL在线编码/解码工具 - 一刀工具箱APP 一刀工具箱提供在线URL编码解码工具:对网址Url进行UrlEncode编码转换,UrlEncode编码,UrlDecode解码。 https://tools.yidaotool.com/encode

    2024年02月11日
    浏览(48)
  • 使用ChatGPT帮助我们编码的10种场景

    ChatGPT 的出现,彻底改变的很多代码开发的方式,特别是通用型的代码,使用它来帮助我们,很大程度上可以提升我们写代码的效率和质量。 本博主工作中主要进行前端方向的项目开发,本文将直接聚焦在代码编写相关的具体场景上。通过日常工作实践中发现的能够使用 Ch

    2023年04月20日
    浏览(46)
  • HTML,url,unicode编码

    HTML实体编码 实体表示: 以符号开始,后面跟着一个预定义的实体的名称,或是一个#符号以及字符的十进制数字。 例: urlcode编码 URL 是“统一资源定位符”(Uniform Resource Locator),表示各种资源的互联网地址。 URL 字符转义的方法是,字符的十六进制 ASCII 码前面加上百分号

    2024年02月14日
    浏览(37)
  • GPT-人工智能如何改变我们的编码方式

    在本文中,您将找到我对人工智能和工作的最新研究的总结(探索人工智能对生产力的影响,同时开启对长期影响的讨论),一个准实验方法的示例(通过 ChatGPT 和 Stack Overflow 进行说明,了解如何使用简单的 SQL 查询从 Stack Overflow 中提取数据。 作为与大多数技术革命一样,

    2024年02月07日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包