tigtools

ตัวแยก URL

วาง URL เพื่อดูแต่ละส่วนและตาราง query parameters ที่ถอดรหัสแล้ว แก้ไขพารามิเตอร์และคัดลอก URL ที่ประกอบใหม่

ทำงานในเบราว์เซอร์ของคุณ ไม่ต้องสมัคร

วิธีใช้งาน

  1. วาง URL แบบเต็ม รวมถึง https:// หรือ scheme อื่น ๆ
  2. อ่านตารางส่วนประกอบ ใช้ปุ่มคัดลอกเพื่อเลือกส่วนใดส่วนหนึ่ง เช่น ชื่อโฮสต์หรือ path
  3. ตรวจสอบ query parameters: ค่าต่าง ๆ จะแสดงในรูปแบบถอดรหัส ตามลำดับเดิม และชื่อที่ซ้ำกันจะถูกเก็บไว้
  4. แก้ไข เพิ่ม หรือลบพารามิเตอร์ แล้วคัดลอก URL ที่ประกอบใหม่

วิธีการทำงาน

เครื่องมือนี้ใช้ตัวแยก URL ที่ฝังอยู่ในเบราว์เซอร์ของคุณ (ตามมาตรฐาน WHATWG URL Standard) ผลลัพธ์จึงตรงกับสิ่งที่เบราว์เซอร์ทำเมื่อเปิดลิงก์ โดยจะทำให้ URL อยู่ในรูปแบบปกติเช่นเดียวกัน: scheme และชื่อโฮสต์ถูกแปลงเป็นตัวพิมพ์เล็ก พอร์ตเริ่มต้นเช่น 443 สำหรับ https จะถูกตัดออก และ path เช่น /a/../b จะถูกจัดการให้เป็นรูปแบบปกติ

ส่วนที่แสดง ได้แก่ โปรโตคอล (scheme) ชื่อผู้ใช้และรหัสผ่านหาก URL มีข้อมูลประจำตัว โฮสต์พร้อมพอร์ต ชื่อโฮสต์เพียงอย่างเดียว พอร์ต path query string ที่ขึ้นต้นด้วย ? fragment ที่ขึ้นต้นด้วย # และ origin (scheme, โฮสต์ และพอร์ต) ซึ่งเบราว์เซอร์ใช้สำหรับการตรวจสอบความปลอดภัยแบบ same-origin รหัสผ่านจะถูกซ่อนไว้จนกว่าคุณจะคลิกปุ่มรูปตา

พารามิเตอร์ query ถูกอ่านด้วย URLSearchParams ค่าจะถูกถอดรหัสเปอร์เซ็นต์ และเครื่องหมาย + ถูกอ่านเป็นช่องว่าง เช่นเดียวกับการส่งฟอร์ม HTML พารามิเตอร์ที่ปรากฏมากกว่าหนึ่งครั้ง เช่น size=42&size=43 จะแสดงแยกกันตามลำดับ เนื่องจากเซิร์ฟเวอร์จำนวนมากอ่านค่าเหล่านั้นเป็นลิสต์

เมื่อคุณแก้ไขพารามิเตอร์ query string จะถูกสร้างใหม่ด้วย URLSearchParams เช่นกัน ซึ่งอาจเปลี่ยนรูปแบบการเขียนส่วนที่คุณไม่ได้แก้ไข: ช่องว่างเขียนเป็น + และอักขระเช่น ' หรือ ~ อาจถูก escape ต่างออกไป ความหมายยังคงเดิมสำหรับเซิร์ฟเวอร์ที่อ่าน query แบบ form-encoded

ชื่อโฮสต์ที่มีอักขระที่ไม่ใช่ ASCII (โดเมนสากล) จะถูกแปลงโดยตัวแยก URL เป็น punycode เช่น münchen.de กลายเป็น xn--mnchen-3ya.de เครื่องมือจะแสดงทั้งสองรูปแบบ

ตัวอย่าง

ตรวจสอบพารามิเตอร์ติดตาม

วางลิงก์แคมเปญ เช่น https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=spring+sale เพื่อดูค่า utm_ แต่ละตัวที่ถอดรหัสแล้ว (“spring sale”) นำตัวที่ไม่จำเป็นออก และคัดลอกลิงก์ที่เรียบร้อยแล้ว

ตรวจแก้ URL เปลี่ยนเส้นทาง

ลิงก์เข้าสู่ระบบมีค่า redirect=https%3A%2F%2Fapp.example.com%2Fdashboard%3Ftab%3D2 ตารางพารามิเตอร์จะแสดงค่าที่ถอดรหัสแล้วเป็น https://app.example.com/dashboard?tab=2 คุณจึงเห็นได้ชัดว่าผู้ใช้จะถูกส่งไปที่ใด

หาค่า origin สำหรับ CORS

สำหรับ https://api.example.com:8443/v1/users?id=7 origin คือ https://api.example.com:8443 สตริงดังกล่าวแบบตรงตัว โดยไม่มี path หรือเครื่องหมาย / ต่อท้าย คือค่าที่ส่วนหัว Access-Control-Allow-Origin ต้องตรงกัน

คำถามที่พบบ่อย

host กับ hostname ต่างกันอย่างไร

hostname มีเพียงโดเมนหรือที่อยู่ IP (example.com) ส่วน host จะรวมพอร์ตด้วยเมื่อ URL ระบุพอร์ตที่ไม่ใช่ค่าเริ่มต้น (example.com:8443) สำหรับ https://example.com:443/ ทั้งคู่คือ example.com เพราะ 443 เป็นพอร์ตเริ่มต้นสำหรับ https และถูกตัดออก

ทำไม URL ของฉันจึงแสดงข้อผิดพลาดว่าไม่มี scheme?

หากไม่มี scheme เช่น https:// “example.com/page” จะไม่ถือเป็น URL แบบ absolute และ “example.com:8080” อาจถูกอ่านเป็น URL ที่มี scheme เป็น “example.com” ด้วยซ้ำ เครื่องมือจะเสนอให้เพิ่ม https:// ให้คุณ

ทำไม + จึงแสดงเป็นช่องว่างในค่าพารามิเตอร์?

โดยทั่วไป query string จะถูกอ่านเป็นข้อมูลฟอร์ม (application/x-www-form-urlencoded) โดยที่ + หมายถึงช่องว่าง เครื่องหมายบวกตามตัวอักษรต้องส่งเป็น %2B ซึ่งเป็นพฤติกรรมของ URLSearchParams และเฟรมเวิร์กฝั่งเซิร์ฟเวอร์ส่วนใหญ่

จะเกิดอะไรขึ้นกับพารามิเตอร์ที่มีชื่อเดียวกัน?

ค่าทั้งหมดจะถูกเก็บไว้ตามลำดับเดิม โดยแต่ละค่าจะอยู่คนละแถว การลบแถวหนึ่งจะลบเฉพาะรายการนั้นเท่านั้น

punycode คืออะไร?

DNS รองรับเฉพาะชื่อโฮสต์แบบ ASCII เท่านั้น ดังนั้นชื่อโดเมนสากลจึงถูกเข้ารหัสเป็น label ที่ขึ้นต้นด้วย xn-- เช่น bücher.example จะถูกส่งเป็น xn--bcher-kva.example โดยเบราว์เซอร์มักแสดงรูปแบบที่อ่านได้ในแถบที่อยู่

ความเป็นส่วนตัว

URL ถูกแยกส่วนโดย parser ในเบราว์เซอร์ของคุณ ไม่มีการร้องขอข้อมูลจาก URL นั้น และสิ่งที่คุณวางจะไม่ถูกอัปโหลด จัดเก็บ หรือรวมอยู่ใน analytics