เครือข่าย/HTTP

URL Parser

แยกส่วนประกอบของ URL — โปรโตคอล โฮสต์ พอร์ต เส้นทาง พารามิเตอร์คิวรี แฟรกเมนต์


                    

A URL is made of several parts — protocol, host, port, path, query parameters, and a fragment — that are easy to mix up when reading a long link. This tool breaks a URL down into those parts and shows each one separately.

How to use it

Common uses

Things to keep in mind

The fragment (the part after #) is never sent to the server — it's a purely client-side part of the URL the server never even sees.

Hosts with non-ASCII characters (Cyrillic, CJK) are actually transmitted over the network in punycode (xn--...), even when the browser's address bar shows plain letters.

บทความเกี่ยวกับเครื่องมือนี้: การแยกส่วน URL: ที่อยู่เว็บประกอบด้วยส่วนใดบ้าง

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

"host" กับ "origin" ของ URL ต่างกันอย่างไร?

host คือแค่โดเมนและพอร์ต (example.com:8080) ในขณะที่ origin รวมถึงสคีมด้วย (https://example.com:8080) — URL สองอันต้องตรงกันทั้งสามอย่างจึงจะมี origin เดียวกัน

ทำไมเส้นทางที่แยกวิเคราะห์บางครั้งดูต่างจากที่ฉันพิมพ์?

เบราว์เซอร์และตัวแยกวิเคราะห์ทำให้ URL เป็นมาตรฐาน — ยุบส่วน "./" และ "../" ถอดรหัสอักขระที่เข้ารหัสแบบเปอร์เซ็นต์บางตัว และเพิ่มเครื่องหมายทับท้ายให้โดเมนเปล่า ๆ — ผลลัพธ์ที่แยกวิเคราะห์จึงสะท้อนรูปแบบที่แก้ไขแล้วตามมาตรฐาน

การแยกวิเคราะห์ URL ที่นี่ส่งมันไปที่ไหนหรือไม่?

ไม่ การแยกวิเคราะห์ทำงานทั้งหมดในเบราว์เซอร์ของคุณโดยใช้ URL API ดั้งเดิม ไม่มีการส่งไปยังเซิร์ฟเวอร์

userinfo ใน URL คืออะไร และเหตุใดจึงอันตราย?

ส่วน "ชื่อผู้ใช้:รหัสผ่าน@" ก่อนโฮสต์ถูกออกแบบมาสำหรับข้อมูลรับรอง แต่ผู้โจมตีใช้มันเพื่อปลอมลิงก์ฟิชชิง: https://accounts.google.com@evil.com/ จริง ๆ แล้วพาไปที่ evil.com ไม่ใช่ Google

ทำไมโฮสต์ใน URL บางอันดูเหมือนสตริงไร้ความหมายที่ขึ้นต้นด้วย xn--?

นั่นคือการเข้ารหัส punycode สำหรับชื่อโดเมนสากล (IDN) — วิธีแสดงโดเมนที่มีอักขระซีริลลิก CJK หรืออักขระนอก ASCII อื่น ๆ ในรูปแบบที่เข้ากันได้กับระบบ DNS แบบเก่า

บทความ: เครือข่าย/HTTP

คิวรีสตริงกับ JSON: อะไรเหมาะกว่าสำหรับส่งข้อมูลที่ซับซ้อน

เหตุใดจึงไม่มีวิธีมาตรฐานสำหรับการส่งอาร์เรย์ผ่านคิวรีสตริง

User-Agent: เหตุใด Chrome ถึงมีคำว่า "Mozilla" และ "Safari"

เหตุใด User-Agent ของ Chrome จึงอ้างตัวว่าเป็น "Mozilla" และ "Safari" ทั้งที่ไม่ใช่

HTTP Basic Auth: เฮดเดอร์ Authorization ถูกสร้างขึ้นอย่างไร

Base64 ไม่ใช่การเข้ารหัส — รหัสผ่านของ Basic Auth สามารถถูกถอดรหัสได้ในไม่กี่วินาที

HTTP Headers: เมทาดาต้าที่มาพร้อมกับทุกคำขอและการตอบกลับ

เฮดเดอร์ Content-Type บอกเบราว์เซอร์อย่างไรว่าจะจัดการการตอบกลับเป็น HTML, JSON หรือรูปภาพ

คุกกี้: เหตุใดแอตทริบิวต์ Secure, HttpOnly และ SameSite จึงสำคัญ

เหตุใดแอตทริบิวต์ HttpOnly จึงช่วยป้องกันไม่ให้คุกกี้เซสชันถูกขโมยในการโจมตี XSS

ข้อผิดพลาด CORS: เหตุใดเบราว์เซอร์จึงบล็อกการตอบกลับ

เหตุใดคำขอที่ใช้งานได้ใน Postman จึงเกิดข้อผิดพลาด CORS ในเบราว์เซอร์

Email Headers: SPF, DKIM และ DMARC ตรวจสอบผู้ส่งจริงอย่างไร

เหตุใดต้องอ่านเฮดเดอร์ Received จากล่างขึ้นบนเพื่อติดตามเส้นทางจริงของอีเมล