ยูอาร์แอล

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

ตัวชี้แหล่งในอินเทอร์เน็ตสร้างขึ้นเมื่อ พ.ศ. 2533 (ค.ศ. 1990) โดยทิม เบอร์เนิร์ส-ลี โดยเป็นส่วนหนึ่งของตัวระบุแหล่งทรัพยากรสากล ซึ่งเขาก็ไม่พอใจกับรูปแบบของยูอาร์แอลเท่าใดนัก เพราะว่าแทนที่เขาจะแบ่งเส้นทางจากใหญ่ไปหาเล็ก แต่เขาแยกเซิร์ฟเวอร์ที่แบ่งด้วยจุด กับเส้นทางของไฟล์ที่แบ่งด้วยทับออกจากกัน ตัวอย่างเช่นยูอาร์แอลนี้ http://www.serverroute.com/path/to/file.html เขาคิดไว้ว่ามันควรจะเป็นแบบนี้ http://com/serverroute/www/path/to/file.html

ยูอาร์แอลทุกชื่อประกอบขึ้นจาก แผนของตัวระบุแหล่งทรัพยากรสากล (URI scheme) (โดยทั่วไปเรียกว่าโพรโทคอล), ตามด้วยทวิภาค (:) และอื่น ๆ ขึ้นอยู่กับแผนที่ใช้งาน, ชื่อแม่ข่าย (hostname) หรือที่อยู่ไอพี, หมายเลขพอร์ต, ชื่อเส้นทางไปยังไฟล์ที่จะดึงข้อมูลมาหรือโปรแกรมที่จะทำงาน, และสุดท้ายคือสายอักขระสอบถาม (query string) โดยเฉพาะเมื่อทำงานกับโปรแกรมต่อประสานร่วมสำหรับเกตเวย์ (CGI) สำหรับการเรียกไฟล์เอชทีเอ็มแอล สามารถใส่จุดตรึง (anchor) เป็นทางเลือก เพื่อเลื่อนเว็บเพจไปยังจุดที่ต้องการได้ด้วย ดังนั้นรูปแบบโดยทั่วไปของยูอาร์แอลก็คือยูอาร์แอลสัมบูรณ์ (absolute URL) หรือยูอาร์แอลเต็ม คือการระบุทรัพยากรไฟล์ในตำแหน่งที่แน่นอน และมีเพียงหนึ่งเดียว หมายความว่าถ้ายูอาร์แอลสองชื่อเหมือนกัน จะโยงมาที่ไฟล์เดียวกันเสมอ ไม่ว่าจะเรียกจากที่ตำแหน่งใด ตัวอย่างเช่น

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

ชื่อแม่ข่าย (hostname) คือชื่อโดเมนที่กำหนดให้ไว้กับคอมพิวเตอร์ที่รับฝากไฟล์บนอินเทอร์เน็ต (host) มักจะเป็นการรวมกันระหว่างชื่อคอมพิวเตอร์ภายในเครือข่ายกับชื่อโดเมนส่วนบน ตัวอย่างเช่น "en.wikipedia.org" ประกอบด้วยชื่อภายใน "en" และชื่อโดเมน "wikipedia.org" ชื่อแม่ข่ายประเภทนี้จะถูกแปลงไปเป็นที่อยู่ไอพีโดยไฟล์ hosts หรือโดยระบบการตั้งชื่อโดเมน (DNS) คอมพิวเตอร์หนึ่งเครื่องสามารถมีชื่อแม่ข่ายได้หลายชื่อ ปกติแล้วระบบปฏิบัติการในเครื่อง จะมีชื่อแม่ข่ายหนึ่งชื่อที่ใช้สำหรับการอ้างถึงเครื่องตัวเอง (localhost)

ชื่อโดเมนก็สามารถใช้เป็นชื่อแม่ข่ายได้เช่นกัน ในกรณีที่มีการกำหนดที่อยู่ไอพีให้กับชื่อโดเมนนั้น เช่น ทั้ง "en.wikimedia.org" และ "wikimedia.org" และ "rr.pmtpa.wikimedia.org" ต่างก็เป็นชื่อแม่ข่ายเพราะมีที่อยู่ไอพี แต่สำหรับชื่อโดเมน "pmtpa.wikimedia.org" ไม่เป็นชื่อแม่ข่ายเพราะไม่มีไอพีกำหนดเอาไว้ (แม้ว่า "rr.pmtpa" จะเป็นส่วนย่อยของ "pmtpa" ก็ตาม) ดังนั้นชื่อแม่ข่ายทุกชื่อจึงเป็นชื่อโดเมน แต่ชื่อโดเมนบางชื่อเท่านั้นที่เป็นชื่อแม่ข่าย (ชื่อแม่ข่ายเป็นเซตย่อยของชื่อโดเมน)