HTML5 - การเข้ารหัส URL

การเข้ารหัส URL คือการแปลอักขระที่พิมพ์ไม่ได้หรืออักขระที่มีความหมายพิเศษภายใน URL เป็นการแสดงที่ไม่คลุมเครือและเป็นที่ยอมรับในระดับสากลโดยเว็บเบราว์เซอร์และเซิร์ฟเวอร์ ตัวละครเหล่านี้ ได้แก่ -

  • ASCII control characters- โดยทั่วไปแล้วอักขระที่ไม่สามารถพิมพ์ได้จะใช้สำหรับการควบคุมเอาต์พุต ช่วงอักขระ 00-1F ฐานสิบหก (0-31 ทศนิยม) และ 7F (127 ทศนิยม) ตารางการเข้ารหัสที่สมบูรณ์ได้รับด้านล่าง

  • Non-ASCII control characters- เป็นอักขระที่อยู่นอกเหนือชุดอักขระ ASCII ที่มีอักขระ 128 ตัว ช่วงนี้เป็นส่วนหนึ่งของชุดอักขระ ISO-Latin และ n รวม "ครึ่งบน" ทั้งหมดของชุดเลขฐานสิบหก ISO-Latin 80-FF (ทศนิยม 128-255) ตารางการเข้ารหัสที่สมบูรณ์ได้รับด้านล่าง

  • Reserved characters- เหล่านี้เป็นอักขระพิเศษเช่นเครื่องหมายดอลลาร์เครื่องหมายและบวกทั่วไปเครื่องหมายทับไปข้างหน้าเครื่องหมายทวิภาคเครื่องหมายเท่ากับเครื่องหมายคำถามและสัญลักษณ์ "ที่" สิ่งเหล่านี้อาจมีความหมายที่แตกต่างกันภายใน URL ดังนั้นจึงจำเป็นต้องเข้ารหัส ตารางการเข้ารหัสที่สมบูรณ์ได้รับด้านล่าง

  • Unsafe characters- เหล่านี้คือช่องว่างเครื่องหมายคำพูดน้อยกว่าสัญลักษณ์มากกว่าสัญลักษณ์อักขระปอนด์อักขระเปอร์เซ็นต์วงเล็บปีกกาซ้ายวงเล็บปีกกาขวาไปป์แบ็กสแลชคาเร็ตทิลเดสวงเล็บเหลี่ยมซ้ายวงเล็บเหลี่ยมขวาสำเนียงหลุมฝังศพ อักขระเหล่านี้แสดงความเป็นไปได้ที่จะถูกเข้าใจผิดภายใน URL ด้วยเหตุผลหลายประการ ควรเข้ารหัสอักขระเหล่านี้เสมอ ตารางการเข้ารหัสที่สมบูรณ์ได้รับด้านล่าง

สัญกรณ์การเข้ารหัสจะแทนที่อักขระที่ต้องการด้วยอักขระสามตัว ได้แก่ เครื่องหมายเปอร์เซ็นต์และเลขฐานสิบหกสองหลักซึ่งสอดคล้องกับตำแหน่งของอักขระในชุดอักขระ ASCII

ตัวอย่าง

หนึ่งในอักขระพิเศษที่พบบ่อยที่สุดคือช่องว่าง คุณไม่สามารถพิมพ์ช่องว่างใน URL ได้โดยตรง ตำแหน่งช่องว่างในชุดอักขระคือเลขฐานสิบหก 20 ดังนั้นคุณสามารถใช้% 20 ในการเว้นวรรคเมื่อส่งคำขอของคุณไปยังเซิร์ฟเวอร์

http://www.example.com/new%20pricing.html

URL นี้ดึงเอกสารชื่อnew prices.htmlจาก www.example.com

การเข้ารหัสอักขระควบคุม ASCII

ซึ่งรวมถึงการเข้ารหัสสำหรับช่วงอักขระ 00-1F ฐานสิบหก (0-31 ทศนิยม) และ 7F (127 ทศนิยม)

ทศนิยม ค่า Hex ตัวละคร เข้ารหัส URL
0 00   % 00
1 01   % 01
2 02   % 02
3 03   % 03
4 04   % 04
5 05   % 05
6 06   % 06
7 07   % 07
8 08 backspace % 08
9 09 แท็บ % 09
10 0a linefeed % 0a
11 0b   % 0b
12 0c   % 0c
13 0d การกลับรถ % 0d
14 0e   % 0e
15 0f   % 0f
16 10   % 10
17 11   % 11
18 12   % 12
19 13   % 13
20 14   % 14
21 15   % 15
22 16   % 16
23 17   % 17
24 18   % 18
25 19   % 19
26 1a   % 1a
27 1b   % 1b
28 1 ค   % 1c
29 1d   % 1d
30 1e   % 1e
31 1f   % 1f
127 7f   % 7f

การเข้ารหัสอักขระควบคุมที่ไม่ใช่ ASCII

ซึ่งรวมถึงการเข้ารหัสสำหรับ "ครึ่งบน" ทั้งหมดของ ISO-Latin set 80-FF hex (ทศนิยม 128-255)

ทศนิยม ค่า Hex ตัวละคร เข้ารหัส URL
128 80 ?? 80%
129 81 ?? % 81
130 82 ?? % 82
131 83 ?? % 83
132 84 ?? % 84
133 85 ?? % 85
134 86 ?? 86%
135 87 ?? % 87
136 88 ?? % 88
137 89 ?? % 89
138 8 ก ?? % 8 ก
139 8b ?? % 8b
140 8 ค ?? % 8c
141 8d ?? % 8d
142 8e ?? % 8e
143 8f ?? % 8f
144 90 ?? % 90
145 91 ?? % 91
146 92 ?? % 92
147 93 ?? % 93
148 94 ?? % 94
149 95 ?? % 95
150 96 ?? % 96
151 97 ?? % 97
152 98 ?? % 98
153 99 ?? % 99
154 9 ก ?? % 9 ก
155 9b ?? % 9b
156 9 ค ?? % 9c
157 9d ?? % 9d
158 9e ?? % 9e
159 9f ?? % 9f
160 a0   % a0
161 a1 ¡ % a1
162 a2 ¢ % a2
163 a3 £ % a3
164 a4 ¤ % a4
165 a5 ¥ % a5
166 a6 ¦ % a6
167 a7 § % a7
168 a8 ¨ % a8
169 a9 © % a9
170 aa ª % aa
171 « % ab
172 ac ¬ % ac
173 โฆษณา ­ % โฆษณา
174 เอ ® % ae
175 af ¯ % af
176 b0 ° % b0
177 b1 ± % b1
178 b2 ² % b2
179 b3 ³ % b3
180 b4 ´ % b4
181 b5 µ % b5
182 ข 6 % b6
183 b7 · % b7
184 ข 8 ¸ % b8
185 ข 9 ¹ % b9
186 บา º % ba
187 BB » %BB
188 bc ¼ % bc
189 bd ½ % bd
190 เป็น ¾ เป็น
191 bf ¿ % bf
192 c0 À % c0
193 c1 Á % c1
194 c2 % c2
195 c3 Ã % c3
196 c4 Ä % c4
197 c5 Å % c5
198 c6 Æ % v6
199 c7 % c7
200 ค 8 È % c8
201 c9 É % c9
202 แคลิฟอร์เนีย Ê % ca
203 cb Ë % cb
204 ซีซี ผม % ซีซี
205 ซีดี ผม % cd
206 ซี ผม % ce
207 cf ผม % cf
208 d0 Ð % d0
209 d1 Ñ % d1
210 d2 Ò % d2
211 d3 Ó % d3
212 d4 Ô % d4
213 d5 Õ % d5
214 d6 Ö % d6
215 d7 × % d7
216 d8 Ø % d8
217 d9 ยู % d9
218 ดา ยู % da
219 db ยู % db
220 กระแสตรง ยู %กระแสตรง
221 dd Ý % dd
222 เดอ Þ % de
223 df ß % df
224 e0 à % e0
225 e1 á % e1
226 e2 â % e2
227 e3 ã % e3
228 e4 ä % e4
229 e5 å % e5
230 e6 æ % e6
231 e7 % e7
232 e8 è % e8
233 e9 é % e9
234 ea ê % ea
235 eb ë % eb
236 ec ผม % ec
237 เอ็ด ผม % ed
238 ee ผม % ee
239 ef ผม % ef
240 f0 ð % f0
241 f1 ñ % f1
242 f2 ò % f2
243 f3 ó % f3
244 f4 ô % f4
245 f5 õ % f5
246 f6 ö % f6
247 f7 ÷ % f7
248 f8 ø % f8
249 ฉ 9 ยู % f9
250 ฟะ ยู % ฟะ
251 FB ยู %FB
252 fc ยู % fc
253 fd ý % fd
254 fe þ % fe
255 ff ÿ % ff

การเข้ารหัสอักขระที่สงวนไว้

ต่อไปนี้เป็นตารางที่จะใช้ในการเข้ารหัสอักขระที่สงวนไว้

ทศนิยม ค่า Hex ถ่าน เข้ารหัส URL
36 24 $ % 24
38 26 & % 26
43 2b + % 2b
44 2 ค , % 2c
47 2f / % 2f
58 3a : % 3 ก
59 3b ; % 3b
61 3d = % 3d
63 3f เหรอ? % 3f
64 40 @ % 40

การเข้ารหัสอักขระที่ไม่ปลอดภัย

ต่อไปนี้เป็นตารางที่จะใช้ในการเข้ารหัสอักขระที่ไม่ปลอดภัย

ทศนิยม ค่า Hex ถ่าน เข้ารหัส URL
32 20 พื้นที่ % 20
34 22 " % 22
60 3c < % 3c
62 3e > % 3e
35 23 # % 23
37 25 % % 25
123 7b { % 7b
125 7d } % 7d
124 7 ค | % 7c
92 5 ค \ % 5c
94 5e ^ % 5e
126 7e ~ % 7e
91 5b [ % 5b
93 5d ] % 5d
96 60 ` 60%