ตัวเข้ารหัสและถอดรหัส URL
แปลงข้อความเป็นการเข้ารหัสที่ปลอดภัยสำหรับ URL (การเข้ารหัสแบบเปอร์เซ็นต์) และในทางกลับกัน มีประโยชน์สำหรับ query string การเปลี่ยนเส้นทาง และโฟลว์ OAuth
การเข้ารหัส URL คืออะไรและเมื่อใดที่คุณต้องใช้?
การเข้ารหัส URL (หรือที่เรียกว่า 'การเข้ารหัสแบบเปอร์เซ็นต์' ซึ่งกำหนดไว้ใน RFC 3986) คือกระบวนการแปลงอักขระที่มีความหมายพิเศษใน URL หรืออักขระที่ไม่ปลอดภัยใน URL โดยตรง ให้เป็นซีเควนซ์หลีก (escape) เลขฐานสิบหก '%XX' ข้อกำหนด URL สงวนอักขระบางตัวที่มีความหมายเชิงโครงสร้างไว้: '?' เริ่มต้น query string, '#' เริ่มต้นส่วน fragment, '&' คั่นพารามิเตอร์ของ query, '/' คั่นเซ็กเมนต์ของ path เป็นต้น หากอินพุตของผู้ใช้มีอักขระเหล่านั้นและคุณฝังมันลงใน URL ตามที่เป็นอยู่ ตัวแยกวิเคราะห์ (parser) จะตีความผิด การเข้ารหัส URL หลีกเลี่ยงปัญหานี้โดยแทนที่อักขระที่สงวนไว้หรือไม่ปลอดภัยแต่ละตัวด้วยการแสดงเลขฐานสิบหกแบบไบต์ที่นำหน้าด้วย '%' ช่องว่างจะกลายเป็น %20, '&' กลายเป็น %26, '=' กลายเป็น %3D อักขระที่ไม่ใช่ ASCII (ซีริลลิก จีน อีโมจิ) จะถูกแปลงเป็นซีเควนซ์ UTF-8 แบบหลายไบต์ โดยแต่ละไบต์เข้ารหัสแบบเปอร์เซ็นต์ เบราว์เซอร์จัดการสิ่งนี้โดยอัตโนมัติเมื่อคุณคลิกลิงก์ แต่เมื่อใดก็ตามที่คุณสร้าง URL ผ่านโค้ด ไม่ว่าจะเป็นการสร้าง query การค้นหา ปลายทางการเปลี่ยนเส้นทาง callback ของ OAuth หรือลายเซ็นของ webhook คุณต้องเข้ารหัสค่าที่ผู้ใช้ป้อนมาก่อน เครื่องมือนี้ใช้ฟังก์ชัน encodeURIComponent / decodeURIComponent เดียวกันกับที่โค้ด JavaScript ของคุณจะใช้ ดังนั้นพฤติกรรมจึงตรงกับโปรดักชันอย่างแม่นยำ
กรณีการใช้งานทั่วไป
เข้ารหัสคำค้นหาของผู้ใช้ก่อนต่อท้าย URL การค้นหา (?q=user+input)
ส่งพารามิเตอร์ OAuth redirect_uri ไปยังเซิร์ฟเวอร์การให้สิทธิ์อย่างปลอดภัย
สร้าง URL ของ webhook ที่มี payload JSON ที่เข้ารหัสไว้ใน query string
เข้ารหัส URL แบบ 'returnTo' เพื่อให้คงอยู่เมื่อถูกส่งผ่าน URL อื่น ๆ
ถอดรหัสค่าที่เข้ารหัสซึ่งคุณเห็นในแถบที่อยู่ของเบราว์เซอร์หลังการส่งฟอร์ม
ทดสอบว่า URL ที่ผิดรูปแบบถูกแยกวิเคราะห์อย่างไร — เข้ารหัสอักขระพิเศษแล้วดูว่าเกิดอะไรขึ้น
คำถามที่พบบ่อย
เมื่อใดที่ฉันควรเข้ารหัส URL?▼
ความแตกต่างระหว่าง encodeURI และ encodeURIComponent คืออะไร?▼
Base64 ที่ปลอดภัยสำหรับ URL เทียบกับการเข้ารหัส URL คืออะไร?▼
ทำไมบางครั้ง '+' จึงถูกถอดรหัสเป็นช่องว่าง?▼
อักขระที่ไม่ใช่ ASCII เข้ารหัสอย่างไร?▼
การเข้ารหัส URL เหมือนกับการเข้ารหัสเอนทิตี HTML หรือไม่?▼
เครื่องมือที่เกี่ยวข้อง
ตัวถอดรหัส JWT
ถอดรหัส JSON Web Tokens (JWT) ได้ทันที ทำงานในเบราว์เซอร์ของคุณ โทเค็นจะไม่ออกจากอุปกรณ์ของคุณ จึงปลอดภัยที่จะใช้กับซีเคร็ตในโปรดักชัน
เครื่องมือจัดรูปแบบและตรวจสอบ JSON
จัดรูปแบบ ตรวจสอบ และย่อขนาด JSON ออนไลน์ ทำงานทั้งหมดในเบราว์เซอร์ของคุณ ข้อมูลของคุณจะไม่ออกจากอุปกรณ์ของคุณเลย
เครื่องมือจัดรูปแบบ XML
จัดรูปแบบและทำให้เอกสาร XML อ่านง่ายขึ้น มีประโยชน์สำหรับ SOAP, sitemap, feed RSS และไฟล์การกำหนดค่า
ตัวเข้ารหัสและถอดรหัส Base64
เข้ารหัสสตริงเป็น Base64 หรือถอดรหัส Base64 เป็นข้อความ เคารพความเป็นส่วนตัวของคุณ: ทำงานในเบราว์เซอร์ของคุณ
เครื่องมือเข้ารหัสและถอดรหัสเอนทิตี HTML
แปลงอักขระพิเศษเป็นเอนทิตี HTML (&, < เป็นต้น) และในทางกลับกัน มีประโยชน์สำหรับการฝังข้อความลงใน HTML อย่างปลอดภัย
ตัวย่อขนาด CSS
ลบคอมเมนต์ ช่องว่าง และอักขระที่ไม่จำเป็นออกจาก CSS เพื่อลดขนาดไฟล์