ข้อมูลเบื้องต้นเกี่ยวกับการเข้ารหัส URL

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

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

อักขระที่เข้ารหัสโดยทั่วไปใน URL คืออักขระ คุณเห็นอักขระนี้เมื่อใดก็ตามที่คุณเห็นเครื่องหมายบวก (+) ใน URL นี่แสดงถึงอักขระพื้นที่ เครื่องหมายบวกทำหน้าที่เป็นอักขระพิเศษซึ่งแสดงถึงพื้นที่นั้นใน URL วิธีที่พบมากที่สุดที่คุณจะเห็นคือในลิงก์ mailto ที่มีหัวเรื่อง ถ้าคุณต้องการให้เรื่องมีช่องว่างอยู่คุณสามารถเข้ารหัสเป็น pluses:

mailto: อีเมลเรื่อง = + นี้จะ + + เรื่องของฉัน

บิตของข้อความการเข้ารหัสนี้จะส่งเรื่องของ "นี่คือเรื่องของฉัน" อักขระ "+" ในการเข้ารหัสจะถูกแทนที่ด้วย <ช่องว่าง> จริงเมื่อมีการแสดงผลในเบราเซอร์

ในการเข้ารหัส URL คุณเพียงแทนที่อักขระพิเศษด้วยสตริงการเข้ารหัสของพวกเขา นี่เกือบจะเริ่มต้นด้วยอักขระ%

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

การพูดอย่างเคร่งครัดคุณควรเข้ารหัสอักขระพิเศษใด ๆ ที่พบใน URL โน้ตสำคัญอย่างหนึ่งในกรณีที่คุณรู้สึกกังวลกับการพูดคุยหรือการเข้ารหัสทั้งหมดนี้คือโดยทั่วไปคุณจะไม่พบอักขระพิเศษใด ๆ ใน URL ภายนอกบริบทปกติยกเว้นข้อมูลฟอร์ม

URL ส่วนใหญ่ใช้อักขระง่าย ๆ ที่ได้รับอนุญาตเสมอดังนั้นจึงไม่จำเป็นต้องเข้ารหัสใด ๆ

หากคุณส่งข้อมูลไปยังสคริปต์ CGI โดยใช้เมธอด GET คุณควรเข้ารหัสข้อมูลตามที่จะถูกส่งผ่าน URL ตัวอย่างเช่นหากคุณกำลังเขียนลิงก์เพื่อโปรโมต ฟีด RSS URL ของคุณจะต้องเข้ารหัสเพื่อเพิ่ม URL ของสคริปต์ที่คุณกำลังโปรโมตไว้

สิ่งที่ควรได้รับการเข้ารหัส?

อักขระใดที่ไม่ใช่ตัวอักษรหรือตัวเลขหรืออักขระพิเศษที่ใช้นอกบริบทปกติจะต้องเข้ารหัสในหน้าเว็บของคุณ ด้านล่างนี้คือตารางอักขระทั่วไปที่สามารถพบได้ใน URL และการเข้ารหัส

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

ตัวละคร วัตถุประสงค์ใน URL การเข้ารหัส
: แยกโพรโทคอล (http) จากที่อยู่ % 3B
/ แยกโดเมนและไดเรกทอรี % 2F
# แบ่งเบรก 23%
? สตริงข้อความค้นหาแยกกัน % 3F
& แยกองค์ประกอบข้อความค้นหา 24%
แอท แยกชื่อผู้ใช้และรหัสผ่านจากโดเมน 40%
% ระบุตัวอักษรที่เข้ารหัส 25%
+ บ่งบอกถึงช่องว่าง % 2B
<พื้นที่> ไม่แนะนำใน URL % 20 หรือ +

โปรดทราบว่าตัวอย่างที่เข้ารหัสนี้แตกต่างจากที่คุณพบด้วย อักขระพิเศษ HTML ตัวอย่างเช่นถ้าคุณต้องการเข้ารหัส URL ด้วยอักขระเครื่องหมาย & (&) คุณจะใช้% 24 ซึ่งเป็นข้อมูลที่แสดงในตารางด้านบน ถ้าคุณเขียน HTML และต้องการเพิ่มเครื่องหมายอัศจรรตกับข้อความคุณไม่สามารถใช้% 24 ได้ แต่คุณจะใช้ "& amp;"; หรือ "& # 38;" ซึ่งทั้งสองอย่างนี้จะเขียน & ในหน้า HTML เมื่อแสดงผล สิ่งนี้อาจทำให้เกิดความสับสนในตอนแรก แต่เป็นความแตกต่างระหว่างข้อความที่ปรากฏบนหน้าเว็บซึ่งเป็นส่วนหนึ่งของโค้ด HTML และสตริง URL ซึ่งเป็นเอนทิตีที่แยกกันและขึ้นอยู่กับกฎต่างๆ

ความจริงที่ว่าอักขระ "และ" รวมถึงอักขระอื่น ๆ อีกมากมายสามารถปรากฏในแต่ละส่วนได้ไม่ควรสับสนกับความแตกต่างระหว่างทั้งสอง

บทความต้นฉบับโดย Jennifer Krynin แก้ไขโดย Jeremy Girard