ผลต่างระหว่างรุ่นของ "ยูอาร์แอล"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
ไม่มีความย่อการแก้ไข
ป้ายระบุ: การแก้ไขแบบเห็นภาพ แก้ไขจากอุปกรณ์เคลื่อนที่ แก้ไขจากเว็บสำหรับอุปกรณ์เคลื่อนที่
Potapt (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
บรรทัด 1:
<'''ตัวชี้แหล่งในอินเทอร์เน็ต''' หรือ '''โปรแกรมชี้แหล่งทรัพยากรสากล'''<ref>[http://rirs3.royin.go.th/coinages/webcoinage.php ศัพท์บัญญัติ ราชบัณฑิตยสถาน]</ref> ({{lang-en|Uniform Resource Locator, Universal Resource Locator}}) เรียกโดยย่อว่า '''ยูอาร์แอล''' ({{lang-en|URL}}) คือ[[ตัวระบุแหล่งทรัพยากรสากล]] (URI) ประเภทหนึ่ง ซึ่งใช้สำหรับระบุแหล่งที่อยู่ของทรัพยากรที่ต้องการ และมีกลไกบางอย่างสำหรับดึงข้อมูลทรัพยากรนั้นมา ในการใช้ในเอกสารทางเทคนิคและการอภิปรายทั่วไป มักจะใช้ยูอาร์แอลแทนความหมายที่คล้ายกับยูอาร์ไอ <ref name="RFC 3986">Tim Berners-Lee, Roy T. Fielding, Larry Masinter. (January 2005). [http://gbiv.com/protocols/uri/rfc/rfc3986.html Uniform Resource Identifier (URI) : Generic Syntax]//”. Internet Society. <wikinowiki>RFC 3986</wikinowiki>:; STD 66.</ref> ซึ่งไม่ใช่ความหมายที่ถูกต้องและอาจทำให้เกิดความสับสน ในภาษาพูดทั่วไป ยูอาร์แอลอาจหมายถึง ''ที่อยู่บนเว็บ'' หรือ ''ที่อยู่[[อินเทอร์เน็ต]]'' ก็ได้ ซึ่งปกติแล้วเรามักพิมพ์ยูอาร์แอลในแถบที่อยู่ของ[[เว็บเบราว์เซอร์]]เพื่อเรียกข้อมูลจากเว็บไซต์
 
== ประวัติ ==
ตัวชี้แหล่งในอินเทอร์เน็ตสร้างขึ้นเมื่อ พ.ศ. 2533 (ค.ศ. 1990) โดย[[ทิม เบอร์เนิร์ส-ลี]] โดยเป็นส่วนหนึ่งของตัวระบุแหล่งทรัพยากรสากล <ref name="URL Spec">[http://www.w3.org/Addressing/URL/url-spec.txt URL Specification]</ref> ซึ่งเขาก็ไม่พอใจกับรูปแบบของยูอาร์แอลเท่าใดนัก เพราะว่าแทนที่เขาจะแบ่งเส้นทางจากใหญ่ไปหาเล็ก แต่เขาแยกเซิร์ฟเวอร์ที่แบ่งด้วยจุด กับเส้นทางของไฟล์ที่แบ่งด้วยทับออกจากกัน <ref name="WWW History">[http://web.archive.org/20090210171942/mrfweb.wordpress.com/ World Wide Web History]</ref> ตัวอย่างเช่นยูอาร์แอลนี้ <tt><nowiki>http://www.serverroute.com/path/to/file.html</nowiki></tt> เขาคิดไว้ว่ามันควรจะเป็นแบบนี้ <tt><nowiki>http://com/serverroute/www/path/to/file.html</nowiki></tt>
 
<== วากยสัมพันธ์> ==
ยูอาร์แอลทุกชื่อประกอบขึ้นจาก [[แผนของตัวระบุแหล่งทรัพยากรสากล]] (URI scheme) (โดยทั่วไปเรียกว่า[[โพรโทคอล]]), ตามด้วย[[ทวิภาค]] (:) และอื่น ๆ ขึ้นอยู่กับแผนที่ใช้งาน, [[ชื่อแม่ข่าย|]] (hostname) หรือ[[ที่อยู่ไอพี]], [[หมายเลขพอร์ต]], ชื่อเส้นทางไปยังไฟล์ที่จะดึงข้อมูลมาหรือโปรแกรมที่จะทำงาน, และสุดท้ายคือ[[สายอักขระสอบถาม]] (query string) โดยเฉพาะเมื่อทำงานกับ[[โปรแกรมต่อประสานร่วมสำหรับเกตเวย์]] (CGI) <ref>RFC 1738</ref><ref name="parse_url">{{Citation | title = PHP parse_url () Function | url=http://us.php.net/parse_url | accessdate = 2009-03-12}}</ref> สำหรับการเรียกไฟล์[[เอชทีเอ็มแอล]] สามารถใส่จุดตรึง (anchor) เป็นทางเลือก เพื่อเลื่อนเว็บเพจไปยังจุดที่ต้องการได้ด้วย <ref name="Syntax">[http://pangea.stanford.edu/computerinfo/hosting/urlsyntax/index.html URL Syntax]</ref> ดังนั้นรูปแบบโดยทั่วไปของยูอาร์แอลก็คือ
 
<wikinowiki>resource_type://domain:port/filepathname?query_string/#anchor</wikinowiki>
[[ชื่อแม่ข่าย|แม่ข่าย]] (hostname) หรือ[[ที่อยู่ไอพี]] [[หมายเลขพอร์ต]], ชื่อเส้นทางไปยังไฟล์ที่จะดึงข้อมูลมาหรือโปรแกรมที่จะทำงาน และสุดท้ายคือ[[สายอักขระสอบถาม]] (query string) โดยเฉพาะเมื่อทำงานกับ[[โปรแกรมต่อประสานร่วมสำหรับเกตเวย์]] (CGI) name=url>{{Citation | title = PHP parse_url () Function | url=http://us.php.net/parse_url | accessdate = 2009-03-12}} สำหรับการเรียกไฟล์[[เล]] สามารถใส่จุดตรึง (anchor) เป็นทางเลือก เพื่อเลื่อนเว็บเพจไปยังจุดที่ต้องการได้ด้วย [http://pangea.stanford.edu/computerinfo/hosting/urlsyntax/index.html URL Syntax] ดังนั้นรูปแบบโดยทั่วไปของยูอาร์แอลก็คือ
 
* แผนของตัวระบุ หรือชนิดของทรัพยากร ได้นิยาม[[เนมสเปซ]] จุดประสงค์ และ[[วากยสัมพันธ์ (ภาษาโปรแกรม)|วากยสัมพันธ์]]ของส่วนอื่นที่เหลือของยูอาร์แอลไว้แล้ว โปรแกรมที่ทำงานบนเว็บจะพยายามถอดความหมายยูอาร์แอลไม่ได้ตามแผนและบริบทของมัน ตัวอย่างเช่น [[เว็บเบราว์เซอร์]]จะถอดความหมายของยูอาร์แอล <wikitt><nowiki>http://example.org:880</nowiki></wikitt> ว่าให้ส่งการร้องของไปบนเอชทีทีพี ไปยังเครื่องแม่ข่ายที่ชื่อว่า example.org ที่พอร์ตหมายเลข 9080 หรือสำหรับ[[ชื่อทรัพยากรสากล]] (URN) เช่น <tt><wikinowiki>mailto:bob@example.com</wikinowiki></tt> จะเป็นการเริ่มต้นโปรแกรมเขียน[[อีเมล]] แล้วนำชื่อ <wikinowiki>ApWbob@example.com</wikinowiki> ไปใส่ในฟีลด์ชื่อผู้รับไม่ได้ เป็นต้น สำหรับแผนของตัวระบุอื่น ๆ ก็มีอย่างเช่น [[https]]:, [[wwwgopher]]:, wais:, [[ftp]]: ฯลฯ
<wiki>resource_type://domain:port/filepathname?query_string/anchor</wiki>
* [[ชื่อโดเมน]]ที่จดทะเบียนหรือ[[ที่อยู่ไอพี]]เป็นที่อยู่เป้าหมายสำหรับยูอาร์แอล เช่นชื่อโดเมน www.google.com หรือไอพี 72.14.207.99 ก็เป็นที่อยู่ของเว็บไซต์[[กูเกิล]] เป็นต้น
 
* ชื่อแม่ข่ายหรือชื่อโดเมนที่เป็นส่วนหนึ่งของยูอาร์แอลนั้น อักษรตัวเล็กตัวใหญ่ไม่มีความสำคัญ เพราะว่า[[ระบบการตั้งชื่อโดเมน]] (DNS) ได้กำหนดไว้เช่นนั้น ดังนั้น <wikitt><nowiki>http://en.wikipedia.org/</wikinowiki></tt> กับ <wikitt><nowiki>HTTP://THEN.WIKIPEDIA.ORG/</wikinowiki></tt> ทั้งคู่เปิดไปยังคนละหน้าเดียวกัน
แผนของตัวระบุ หรือชนิดของทรัพยากร ได้นิยาม[[เนมสเปซ]] จุดประสงค์ และ[[วากยสัมพันธ์ (ภาษาโปรแกรม)|วากยสัมพันธ์]]ของส่วนอื่นที่เหลือของยูอาร์แอลไว้แล้ว โปรแกรมที่ทำงานบนเว็บจะพยายามถอดความหมายยูอาร์แอลไม่ได้ตามแผนและบริบทของมัน ตัวอย่างเช่น [[เว็บเบราว์เซอร์]]จะถอดความหมายของยูอาร์แอล <wiki>http://.org:8</wiki> ว่าให้ส่งการร้องของไปบนเอชทีทีพี ไปยังเครื่องแม่ข่ายที่ชื่อว่า example.org ที่พอร์ตหมายเลข 90 หรือสำหรับ[[ชื่อทรัพยากรสากล]] (URN) เช่น ><wiki>mailto:bob@example.com</wiki></> จะเป็นการเริ่มต้นโปรแกรมเขียน[[อีเมล]] แล้วนำชื่อ <wiki>ApW@example.com</wiki> ไปใส่ในฟีลด์ชื่อผู้รับไม่ได้ เป็นต้น สำหรับแผนของตัวระบุอื่น ๆ ก็มีอย่างเช่น [[https]]: [[www]]: wais: ฯลฯ
* หมายเลขพอร์ตเป็นส่วนประกอบที่ไม่จำเป็นต้องใส่ ซึ่งถ้าหากไม่ใส่ก็จะใช้หมายเลขพอร์ตปริยายของแผนนั้น ตัวอย่างเช่น หากพิมพ์ยูอาร์แอลนี้ <wikitt><nowiki>http://myvncserver.no-ip.org:5800</wikinowiki></tt> ลงไปในช่องที่อยู่ เว็บเบราว์เซอร์จะเชื่อมต่อไปยังหมายเลขพอร์ต 5800 ของเครื่องแม่ข่าย myvncserver.no-ip.org ซึ่งพอร์ตนี้ถูกใช้โดยโปรแกรมควบคุมระยะไกลของ [[Virtual Network Computing]] ถ้าไม่ใส่ จะเชื่อมต่อไปยังพอร์ตหมายเลข 80 ซึ่งเป็นพอร์ตปริยายของเอชทีทีพี เครื่องแม่ข่ายหนึ่งอาจสามารถเชื่อมต่อได้หลายพอร์ตและต่างบริการก็ได้
[[ชื่อโดเมน]]ที่จดทะเบียนหรือ[[ที่อยู่ไอพี]]เป็นที่อยู่เป้าหมายสำหรับยูอาร์แอล เช่นชื่อโดเมน www.google.com ก็เป็นที่อยู่ของเว็บไซต์[[กูเกิล]] เป็นต้น
* ชื่อเส้นทางของไฟล์ คือที่อยู่ในเครื่องแม่ข่ายซึ่งไฟล์หรือโปรแกรมนั้นบันทึกอยู่ ส่วนนี้อักษรตัวเล็กตัวใหญ่มีความสำคัญตามหลักการ แต่ก็อาจไม่มีความสำคัญในเครื่องให้บริการบางเครื่องก็ได้ โดยเฉพาะ[[เว็บเซิร์ฟเวอร์]]ที่ทำงานอยู่บน[[ไมโครซอฟท์ วินโดวส์]] เช่นว่า สำหรับบนเครื่องแม่ข่ายที่อักษรตัวเล็กตัวใหญ่มีความสำคัญ การเรียกทรัพยากรไปยังยูอาร์แอล <wikitt><nowiki>http://then.wikipedia.org/wiki/URL</wikinowiki></tt> ให้ผลที่ถูกต้อง แต่ถ้าเรียกไปยัง <tt><nowiki>http://en.wikipedia.org/WIKI/URL</nowiki></tt> หรือ <tt><nowiki>http://en.wikipedia.org/wiki/url</nowiki></tt> จะคืนค่าเป็นหน้าข้อความผิดพลาดรหัส [[รายชื่อรหัสสถานภาพของเอชทีทีพี|404]] แต่สำหรับเว็บเซิร์ฟเวอร์บนวินโดวส์ ยูอาร์แอลทั้งสามจะเปิดไปยังหน้าเดียวกัน
ชื่อแม่ข่ายหรือชื่อโดเมนที่เป็นส่วนหนึ่งของยูอาร์แอลนั้น อักษรตัวเล็กตัวใหญ่ไม่มีความสำคัญ เพราะว่า[[ระบบการตั้งชื่อโดเมน]] (DNS) ได้กำหนดไว้เช่นนั้น ดังนั้น <wiki>http://en.wikipedia.org/</wiki></> กับ <wiki>HTTP://TH.WIKIPEDIA.ORG/</wiki> ทั้งคู่เปิดไปยังคนละหน้า
* [[สายอักขระสอบถาม]]เป็นข้อมูลที่ส่งผ่านไปยัง[[เว็บแอปพลิเคชัน]] เช่นโปรแกรมซีจีไอ สายอักขระสอบถามจะถูกแบ่งไว้เป็นชื่อตัวแปร เครื่องหมาย[[เท่ากับ]] (=) และค่าของมันเป็นคู่ ๆ คั่นด้วย[[แอมเพอร์แซนด์]] (&) เช่น <tt>first_name=e ไม่ใช่John&last_name=Doe</tt> การส่งสายอักขระสอบถามไปกับทรัพยากรธรรมดาอาจไม่มีประโยชน์อะไร
หมายเลขพอร์ตเป็นส่วนประกอบที่ไม่จำเป็นต้องใส่ ซึ่งถ้าหากไม่ใส่ก็จะใช้หมายเลขพอร์ตปริยายของแผนนั้น ตัวอย่างเช่น หากพิมพ์ยูอาร์แอลนี้ <wiki>http://myvncserver.ip.org:5800</wiki> ลงไปในช่องที่อยู่ เว็บเบราว์เซอร์จะเชื่อมต่อไปยังหมายเลขพอร์ต 5800 ของเครื่องแม่ข่าย myvncserver-ip.org ซึ่งพอร์ตนี้ถูกใช้โดยโปรแกรมควบคุมระยะไกลของ [[Network]] ถ้าไม่ใส่ จะเชื่อมต่อไปยังพอร์ตหมายเลข 80 ซึ่งเป็นพอร์ตปริยายของเอชทีทีพี เครื่องแม่ข่ายหนึ่งอาจสามารถเชื่อมต่อได้หลายพอร์ตและต่างบริการก็ได้
* จุดตรึงในยูอาร์แอล ใช้กับเอชทีทีพีสำหรับระบุตำแหน่งบน[[หน้าเว็บ]] เช่นยูอาร์แอลนี้ <tt><nowiki>http://en.wikipedia.org/wiki/URL#Syntax</nowiki></tt> จะเป็นการระบุถึงส่วนที่ชื่อว่า Syntax ในหน้าเว็บนั้น ในบางเว็บไซต์ ส่วนประกอบจุดตรึงอาจมีฟังก์ชันการทำงานอย่างอื่น ดูเพิ่มใน[[ตัวระบุชิ้นส่วน]] (fragment identifier)
ชื่อเส้นทางของไฟล์ คือที่อยู่ในเครื่องแม่ข่ายซึ่งไฟล์หรือโปรแกรมนั้นบันทึกอยู่ ส่วนนี้อักษรตัวเล็กตัวใหญ่มีความสำคัญตามหลักการ แต่ก็อาจไม่มีความสำคัญในเครื่องให้บริการบางเครื่องก็ได้ โดยเฉพาะ[[เว็บเซิร์ฟเวอร์]] เช่นว่า สำหรับบนเครื่องแม่ข่ายที่อักษรตัวเล็กตัวใหญ่มีความสำคัญ การเรียกทรัพยากรไปยังยูอาร์แอล <wiki>http://th.wikipedia.org/wiki/URL</wiki> ให้ผลที่ถูกต้อง
[[สายอักขระสอบถาม]]เป็นข้อมูลที่ส่งผ่านไปยัง[[เว็บแอปพลิเคชัน]] เช่นโปรแกรมซีจีไอ สายอักขระสอบถามจะถูกแบ่งไว้เป็นชื่อตัวแปร เครื่องหมาย[[เท่ากับ]] และค่าของมันเป็นคู่ ๆ คั่นด้วย[[แอมเพอร์แซนด์]] (&) เช่น first_name=e ไม่ใช่ การส่งสายอักขระสอบถามไปกับทรัพยากรธรรมดาอาจไม่มีประโยชน์อะไร
จุดตรึงในยูอาร์แอล ใช้กับเอชทีทีพีสำหรับระบุตำแหน่งบน[[หน้าเว็บ]] เช่นยูอาร์แอลนี้ <wiki>http://en.wikipedia.org/wiki/URL</wiki><
จะเป็นการระบุถึงส่วนที่ชื่อว่า Syntax ในหน้าเว็บนั้น ในบางเว็บไซต์ ส่วนประกอบจุดตรึงอาจมีฟังก์ชันการทำงานอย่างอื่น
 
== ยูอาร์แอลสัมบูรณ์และยูอาร์แอลสัมพัทธ์ ==