onlinetools.dev

ตัวแยกส่วน URL

แยก URL ออกเป็นโปรโตคอล โฮสต์ เส้นทาง และพารามิเตอร์ query

ทำงานในเครื่อง
loading…
เกี่ยวกับเครื่องมือนี้

วาง URL แล้วดูมันถูกผ่าออก: โปรโตคอล โฮสต์ พอร์ต เส้นทาง แฟรกเมนต์ และพารามิเตอร์คิวรีทุกตัวในรูปตารางคีย์-ค่าที่ถอดรหัสแล้ว มันใช้ตัวแยกวิเคราะห์ URL ของ WHATWG ตัวเดียวกับที่เบราว์เซอร์ใช้ในการนำทาง การตีความที่คุณเห็นจึงเป็นการตีความที่เบราว์เซอร์จะใช้จริง รวมถึงกรณีขอบอย่างการตัดพอร์ตมาตรฐานทิ้งและการปรับเส้นทางให้เป็นมาตรฐาน

ตารางพารามิเตอร์คิวรีคือส่วนที่คุณจะใช้บ่อยที่สุด: การเปลี่ยนเส้นทาง OAuth ยาว ๆ ลิงก์ที่ติดแท็กวิเคราะห์ และการเรียก API กลายเป็นสิ่งที่อ่านเข้าใจได้ในพริบตา โดยแต่ละค่าถูกถอดรหัสเปอร์เซ็นต์ไว้ให้แล้ว โดเมนเปล่าที่ไม่มีสกีมาก็รับได้ โดยจะถือว่าเป็น https:// ในการแยกวิเคราะห์

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

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

ทำไม URL ที่แยกวิเคราะห์แล้วต่างจากที่ฉันวางไปเล็กน้อย?
ตัวแยกวิเคราะห์ของ WHATWG ปรับให้เป็นมาตรฐาน: เปลี่ยนสกีมาและโฮสต์เป็นตัวพิมพ์เล็ก ตัดพอร์ตมาตรฐานออก (:443 สำหรับ https) แก้ส่วนเส้นทาง ./ และ ../ และเข้ารหัสอักขระที่จำเป็น สิ่งที่คุณเห็นคือรูปแบบมาตรฐานที่เซิร์ฟเวอร์และเบราว์เซอร์เห็นตรงกัน
รองรับ URL ที่มีคีย์คิวรีซ้ำกันไหม?
รองรับ — ทุกครั้งที่ปรากฏจะถูกแสดงเป็นแถวของตัวเอง ตามลำดับ คีย์ซ้ำเป็นเรื่องถูกต้องและพบบ่อย: API หลายตัวอ่านมันเป็นอาร์เรย์ (?tag=a&tag=b)
host กับ hostname ต่างกันอย่างไร?
hostname คือโดเมนล้วน ๆ (example.com) ส่วน host รวมพอร์ตที่ไม่ใช่ค่าเริ่มต้นซึ่งระบุไว้ชัดเจนด้วย (example.com:8080) เมื่อพอร์ตเป็นค่าเริ่มต้นของสกีมา ทั้งสองจะดูเหมือนกันเพราะพอร์ตถูกละไว้
แฟรกเมนต์ (#...) ถูกส่งไปยังเซิร์ฟเวอร์ไหม?
ไม่ ทุกอย่างหลัง # อยู่ในเบราว์เซอร์เท่านั้น — เซิร์ฟเวอร์ไม่เคยเห็นมัน นั่นคือเหตุผลที่แอปหน้าเดียวเคยใช้มันจัดเส้นทางฝั่งไคลเอนต์ และเป็นเหตุผลที่พารามิเตอร์วิเคราะห์ซึ่งวางไว้หลัง # จะมองไม่เห็นจากฝั่งหลังบ้าน
เครื่องมือที่เกี่ยวข้อง