Web Technology

HTTP URL Encoding
ترميز URL لـ HTTP

في هذا الدرس، سنتعرف على ترميز URL لـ HTTP، وسنناقش لماذا نحتاج لترميز URL لضمان الأمان وسهولة الوصول. وسنستعرض أيضًا جدولًا يوضح ترميز ASCII للأحرف غير المطبوعة في URL لضمان نقلها ومعالجتها بكفاءة.

التاريخ

05 أبريل 2024

الدروس

51

المستوى

متقدم

اللغة

انجليزي

المشاهدات

412

المواضيع

4
الشروحات chevron_left HTTP URL Encoding chevron_left Web Technology

HTTP URL Encoding
ترميز URL لـ HTTP

</> HTTP URL Encoding
ترميز URL لـ HTTP

عنوان URL، أو مُحدد موقع الموارد الموحد Uniform Resource Locator، هو الرابط الذي يُستخدم للوصول إلى أي مورد على الإنترنت، سواء كان صفحة ويب، صورة، أو ملفاً. يلعب الترميز دورًا حيويًا في تسهيل قراءة هذه العناوين وفهمها من قبل أنظمة الحاسب، مما يضمن توجيه الطلبات إلى الوجهة الصحيحة دون التعرض لأخطاء ناتجة عن الأحرف الخاصة أو المسافات. في هذا السياق، يُعرف ترميز URL لـ HTTP بترميز النسبة المئوية، وهو عملية تحويل الأحرف في عنوان URL إلى تنسيق آمن ومقبول لنقلها عبر الإنترنت لضمان معالجة كل جزء من العنوان بشكل صحيح، خاصة الأحرف التي لها معانٍ خاصة في URLs.

أثناء عملية الترميز، تُستبدل بعض الأحرف المحجوزة أو غير الآمنة بسلسلة رمزية باستخدام النسبة المئوية. يتم استخدام رمز النسبة المئوية "%" يليه رقمين بالأرقام السداسية عشرية [hexadecimal]، ليمثل القيمة الرقمية للحرف وفق جدول [ASCII]. على سبيل المثال، تتحول المسافة [Space] إلى "%20"، بينما تُحوّل علامة التعجب "!" إلى "%21".

الهدف من ترميز عناوين URL هو التعامل مع الأحرف مثل المسافات والرموز الخاصة التي لها معانٍ محددة في سياق عناوين URL. باستخدام URL Encoding، يمكن ترميز هذه الأحرف بشكل يضمن بقاء معناها صحيحًا دون التباس، مما يضمن تفسير كل جزء من URL بشكل دقيق عند استلامه ومعالجته من قبل الخادم.
ملاحظات
  • [ASCII]، أو "الكود القياسي الأمريكي لتبادل المعلومات"، "American Standard Code for Information Interchange"، هو نظام لترميز الأحرف يُستخدم في الحاسوب لتسهيل تبادل البيانات بين الأجهزة والبرمجيات. يتضمن [ASCII] 128 رمزًا، منها رموز التحكم التي تتراوح قيمها من [0 إلى 31]، وتُستخدم لإدارة عمليات النصوص وتنظيم تدفق البيانات مثل بدء النص أو إنهائه والانتقال إلى سطر جديد. بالإضافة إلى ذلك، يشمل [ASCII] الأحرف القابلة للطباعة مثل الحروف الإنجليزية والأرقام وعلامات الترقيم من [32 إلى 126]. تسهم هذه الرموز في تمكين الأنظمة من تبادل المعلومات بسلاسة وفعالية.

  • الأحرف المحجوزة أو غير الآمنة في عناوين URL هي الأحرف التي لها معنى خاص وتحتاج إلى الترميز لضمان تفسيرها ومعالجتها بشكل صحيح على شبكة الإنترنت. على سبيل المثال، يتم ترميز المسافات كـ "%20"، وعلامات الترقيم مثل علامة التعجب "!" كـ "%21". يتم اتخاذ هذه التدابير لتجنب التفسيرات غير الصحيحة التي قد تحدث إذا استخدمت هذه الأحرف دون ترميز.

</> ?Why do we need URL encoding
لماذا نحتاج لترميز URL؟

نحتاج لترميز URL لأسباب متعددة تتعلق بكيفية معالجة ونقل البيانات بشكل آمن وصحيح عبر الإنترنت. إليك بعض الأسباب الرئيسية:

  • تجنب الأخطاء في معالجة البيانات: تحتوي عناوين URL أحيانًا على أحرف لها وظائف خاصة مثل [? و &] يتم استخدامها لتحديد أقسام معينة من العنوان. إذا لم تُرمّز الأحرف الأخرى التي تشبه هذه الرموز، قد يؤدي ذلك إلى تفسيرات خاطئة.

  • حماية الأحرف غير المسموح بها: بعض الأحرف غير مسموح باستخدامها مباشرة في عناوين URL مثل [المسافات وعلامات الترقيم مثل [# و %]. ترميز URL يضمن تحويل هذه الأحرف إلى تنسيق مقبول وهو ترميز النسبة المئوية.

  • ضمان سلامة البيانات أثناء النقل: عند نقل البيانات عبر الإنترنت يمكن أن تتسبب بعض الأحرف الخاصة في إرباك الأنظمة أو إساءة تفسير البيانات. ترميز URL يساعد في الحفاظ على سلامة البيانات ويحميها من الفقدان أو التشويه.

  • التكيف مع مختلف أنظمة التشغيل والمتصفحات: ليس كل الأنظمة والمتصفحات تتعامل مع عناوين URL بالطريقة ذاتها. يضمن ترميز URL أن تتمكن جميع الأجهزة والبرامج من فهم العنوان بنفس الطريقة، بغض النظر عن القواعد المحلية للنظام أو المتصفح.

  • دعم اللغات الدولية: يستخدم ترميز URL للسماح بإدراج الأحرف الخاصة بلغات غير الإنجليزية، مما يوسع إمكانية الوصول إلى الموارد على الإنترنت لمستخدمي جميع اللغات.

</> ASCII Encoding Table for Non-Printable Characters in URL
جدول ترميز ASCII للأحرف غير المطبوعة في URL

لماذا يبدأ الجدول بالرقم 32 في ترميز ASCII لعناوين URL؟
الأرقام الأقل من 32 في [ASCII] تُعتبر رموز تحكم، مثل إشارات بداية النص ونهاية النص، وهي ليست أحرفًا قابلة للطباعة. عند الحاجة لاستخدام هذه الرموز في سياقات مثل [URL]، يجب ترميزها لضمان عدم تفسيرها بشكل خاطئ.

لذلك، يتم استخدام صيغة النسبة المئوية %xx، حيث يمثل "%" استخدام الترميز، و "xx" هو الاستبدال السداسي عشري للقيمة [ASCII]. على سبيل المثال، رمز [ASCII] للعدد 10، الذي يشير إلى سطر جديد، يتم ترميزه في [URL] كـ %0A لأن 0A هو التمثيل السداسي عشري للعدد 10. يضمن هذا الأسلوب سلامة البيانات ويمنع أي تأثيرات غير مرغوبة عند نقل أو معالجة النصوص.
الحرف الرمز ASCII ترميز URL
space 32 %20 أو +
! 33 %21
" 34 %22
# 35 %23
$ 36 %24
% 37 %25
& 38 %26
' 39 %27
( 40 %28
) 41 %29
* 42 %2A
+ 43 %2B
, 44 %2C
- 45 -
. 46 .
/ 47 %2F
0 48 0
1 49 1
2 50 2
3 51 3
4 52 4
5 53 5
6 54 6
7 55 7
8 56 8
9 57 9
: 58 %3A
; 59 %3B
< 60 %3C
= 61 %3D
> 62 %3E
? 63 %3F
@ 64 %40
A 65 A
B 66 B
C 67 C
D 68 D
E 69 E
F 70 F
G 71 G
H 72 H
I 73 I
J 74 J
K 75 K
L 76 L
M 77 M
N 78 N
O 79 O
P 80 P
Q 81 Q
R 82 R
S 83 S
T 84 T
U 85 U
V 86 V
W 87 W
X 88 X
Y 89 Y
Z 90 Z
[ 91 %5B
\ 92 %5C
] 93 %5D
^ 94 %5E
_ 95 _
` 96 %60
a 97 a
b 98 b
c 99 c
d 100 d
e 101 e
f 102 f
g 103 g
h 104 h
i 105 i
j 106 j
k 107 k
l 108 l
m 109 m
n 110 n
o 111 o
p 112 p
q 113 q
r 114 r
s 115 s
t 116 t
u 117 u
v 118 v
w 119 w
x 120 x
y 121 y
z 122 z
{ 123 %7B
| 124 %7C
} 125 %7D
~ 126 %7E
DEL 127 %7F
ملاحظات
  • الرموز من 32 إلى 126: تشمل الأحرف القابلة للطباعة، بما في ذلك الحروف الكبيرة capital letters والصغيرة small letters، الأرقام، وعلامات الترقيم.

  • في ترتيب ASCII: تُستخدم الأرقام من 0 إلى 9 بشكل مباشر في عناوين URL دون الحاجة إلى تغيير أو ترميز خاص، حيث يتم تمثيلها كما هي. أيضاً تُستخدم الأحرف الكبيرة capital letters من A إلى Z والأحرف الصغيرة small letters من a إلى z بصيغتها الأصلية دون الحاجة إلى ترميز. هذا يعني أن هذه الأحرف والأرقام تُعتبر آمنة لاستخدامها مباشرة في تكوين عناوين URL، لأنها لا تحمل دلالات خاصة تستدعي ترميزها.

  • الرقم 127 في ترتيب ASCII: يُعرف برمز الحذف [DEL] delete. هذا الرمز ليس حرفًا نراه في النصوص مثل الحروف العادية أو الأرقام، بل هو رمز تحكم يُستخدم لحذف أو إزالة البيانات وغير قابل للطباعة. وعندما نستخدم هذا الرمز في عناوين URL، فإنه يتم تمثيله بـ"%7F". لضمان تفسيره بشكل صحيح في سياقات الشبكة.

  • تدفق البيانات: يشير إلى رموز التحكم في نظام [ASCII] والتي تُستخدم لتنظيم وإدارة حركة البيانات أثناء نقلها أو معالجتها بين أجزاء الحواسيب والأنظمة المختلفة. تتضمن هذه الرموز أمثلة مثل إشارة لبدء نص [STX]، إشارة لنهاية نص [ETX]، وإشارة إيقاف [STOP]. تستخدم هذه الرموز كأوامر توجيهية تساعد في تنظيم العمليات، بحيث تضمن تسلسل وإدارة البيانات بشكل فعّال وآمن داخل النظام.

</> Control Codes in ASCII for Numbers 0 to 31
رموز التحكم في ASCII للأرقام من 0 إلى 31

هذه الرموز تُستخدم للتحكم في معالجة البيانات والتواصل بين الأجهزة والأنظمة المختلفة، وليس لها تمثيل مرئي كنص مطبوع.
ASCII الاختصار الشائع الاسم الكامل للرمز الوصف
0 NUL Null Character نهاية النص
1 SOH Start of Heading بداية العنوان
2 STX Start of Text بداية النص
3 ETX End of Text نهاية النص
4 EOT End of Transmission نهاية النقل
5 ENQ Enquiry استعلام
6 ACK Acknowledge تأكيد الاستلام
7 BEL Bell جرس
8 BS Backspace مسافة للخلف
9 HT Horizontal Tab تبويب أفقي
10 LF Line Feed تغذية الأسطر
11 VT Vertical Tab تبويب عمودي
12 FF Form Feed تغذية النماذج
13 CR Carriage Return العودة إلى بداية السطر
14 SO Shift Out تبديل للخارج
15 SI Shift In تبديل للداخل
16 DLE Data Link Escape هروب الرابط البياني
17 DC1 Device Control 1 التحكم في الجهاز 1
18 DC2 Device Control 2 التحكم في الجهاز 2
19 DC3 Device Control 3 التحكم في الجهاز 3
20 DC4 Device Control 4 التحكم في الجهاز 4
21 NAK Negative Acknowledge عدم تأكيد الاستلام
22 SYN Synchronous Idle خمول تزامني
23 ETB End of Transmission Block نهاية كتلة النقل
24 CAN Cancel إلغاء
25 EM End of Medium نهاية الوسيط
26 SUB Substitute استبدال
27 ESC Escape هروب
28 FS File Separator فاصل ملفات
29 GS Group Separator فاصل مجموعات
30 RS Record Separator فاصل تسجيلات
31 US Unit Separator فاصل وحدات
معلومات تهمك
  • لا تنس تقييم الدروس لكي نُحدّث المُحتوى باستمرار حتى ينال إعجابك.
  • لا تنس مشاركة الموقع مع أصدقائك حتى تعمّ الفائدة وتكون سببًا في نفعهم.
مشاركة
0
0
0
0
عدد المشاركات
هل هذه المعلومات نالت إعجابك ؟
0
0
عدد التقييمات