URL

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา

URL
Uniform Resource Locator
ตัวย่อURL
สถานะที่ตีพิมพ์
ตีพิมพ์ครั้งแรก1994 ; 28 ปีที่แล้ว ( 1994 )
รุ่นล่าสุดมาตรฐานการครองชีพ
2022
องค์กรคณะทำงานด้านวิศวกรรมอินเทอร์เน็ต (IETF)
คณะกรรมการคณะทำงานเทคโนโลยีเว็บไฮเปอร์เท็กซ์แอพพลิเคชั่น (WHATWG)
ชุดขอความคิดเห็น (RFC)
บรรณาธิการแอน ฟาน เคสเตอเรน
ผู้เขียนทิม เบอร์เนอร์ส-ลี
มาตราฐาน
  • อา ร์เอฟซี  3986 . – Uniform Resource Identifier (URI): ไวยากรณ์ทั่วไป
  • อา ร์เอฟซี  4248 . – โครงการ Telnet URI
  • อา ร์เอฟซี  4266 . – โครงการ URI โกเฟอร์
  • อา ร์เอฟซี  6068 . – โครงการ URI 'mailto'
  • อา ร์เอฟซี  6196 . – การย้ายเมลเซิร์ฟเวอร์: URI Scheme ไปสู่ประวัติศาสตร์
  • อา ร์เอฟซี  6270 . – โครงการ URI 'tn3270'
มาตรฐานที่เกี่ยวข้องURI , URN
โดเมนเวิลด์ไวด์เว็บ
ใบอนุญาตCC BY 4.0
เว็บไซต์url .spec .whatwg .org

Uniform Resource Locator ( URL ) เรียกอีกอย่างว่าที่อยู่เว็บ[ 1]คือการอ้างอิงถึงทรัพยากรบนเว็บที่ระบุตำแหน่งบนเครือข่ายคอมพิวเตอร์และกลไกในการดึงข้อมูล URL เป็นประเภทเฉพาะของUniform Resource Identifier (URI), [2] [3]แม้ว่าหลายคนจะใช้คำสองคำนี้แทนกันได้ [4] [a] URL เกิดขึ้นบ่อยที่สุดเพื่ออ้างอิงหน้าเว็บ ( http ) แต่ยังใช้สำหรับการถ่ายโอนไฟล์ ( ftp ), อีเมล ( mailto ), การเข้าถึงฐานข้อมูล ( JDBC) และแอปพลิเคชั่นอื่น ๆ อีกมากมาย

เว็บเบราว์เซอร์ส่วนใหญ่แสดง URL ของหน้าเว็บที่อยู่เหนือหน้าในแถบที่อยู่ URL ทั่วไปอาจมีรูปแบบhttp://www.example.com/index.htmlซึ่งระบุโปรโตคอล ( http) ชื่อโฮสต์ ( www.example.com) และชื่อไฟล์ ( index.html)

ประวัติศาสตร์

Uniform Resource Locators ถูกกำหนดไว้ในRFC 1738ในปี 1994 โดยTim Berners-Leeผู้ประดิษฐ์World Wide Webและคณะทำงาน URI ของInternet Engineering Task Force (IETF) [7]อันเป็นผลมาจากความร่วมมือเริ่มต้นที่ IETF Living Documents นกแห่งขนนกในปี 1992 [7] [8] 

รูปแบบนี้รวมระบบชื่อโดเมน ที่มีอยู่ก่อนแล้ว (สร้างในปี 1985) กับไวยากรณ์พาธของไฟล์ โดยที่ เครื่องหมายทับใช้เพื่อแยกไดเร็กทอรีและชื่อไฟล์ มีข้อตกลงอยู่แล้วโดยที่ชื่อเซิร์ฟเวอร์สามารถนำหน้าเพื่อให้เส้นทางไฟล์สมบูรณ์ นำหน้าด้วยเครื่องหมายทับคู่ ( //) [9]

Berners-Lee แสดงความเสียใจในภายหลังที่ใช้จุดแยกส่วนต่าง ๆ ของชื่อโดเมนภายในURIโดยหวังว่าเขาจะใช้เครื่องหมายทับตลอด[9]และยังกล่าวอีกว่า เมื่อให้เครื่องหมายทวิภาคตามองค์ประกอบแรกของ URI ทั้งสอง เครื่องหมายทับก่อนที่ชื่อโดเมนจะไม่จำเป็น [10]

ฉบับร่างต้น (1993) ของข้อกำหนด HTML [11]อ้างถึงตัวระบุตำแหน่งทรัพยากร "สากล" ลดลงในช่วงระหว่างเดือนมิถุนายน 1994 ( RFC  1630 ) และตุลาคม 1994 (draft-ietf-uri-url-08.txt) (12)

ไวยากรณ์

HTTP URL ทุกอันสอดคล้องกับรูปแบบของ URI ทั่วไป ไวยากรณ์ทั่วไป ของURIประกอบด้วยลำดับชั้นขององค์ประกอบห้าส่วน : [13]

URI = โครงการ ":" ["//" ผู้มีอำนาจ] เส้นทาง ["?" แบบสอบถาม] [ส่วน"#"]

โดยที่องค์ประกอบอำนาจแบ่งออกเป็นสามองค์ประกอบย่อย :

ผู้มีอำนาจ = [ข้อมูลผู้ใช้ "@"] โฮสต์ [":" พอร์ต]

นี่แสดงอยู่ในไดอะแกรมไวยากรณ์ดังนี้:

ไดอะแกรมไวยากรณ์ URI

URI ประกอบด้วย:

  • ไม่ว่างส่วนประกอบแบบแผน: ตามด้วยเครื่องหมายทวิภาค ( ) ซึ่งประกอบด้วยลำดับของอักขระที่ขึ้นต้นด้วยตัวอักษร และตามด้วยตัวอักษร ตัวเลข บวก (+) จุด (.) หรือขีดกลาง (-) ผสมกัน แม้ว่าโครงร่างจะไม่คำนึงถึงขนาดตัวพิมพ์ แต่รูปแบบบัญญัติจะเป็นตัวพิมพ์เล็ก และเอกสารที่ระบุโครงร่างจะต้องทำด้วยตัวพิมพ์เล็ก ตัวอย่างของรูปแบบที่เป็นที่นิยมได้แก่http,https,ftp,mailto,fileและ แผน URI ควรลงทะเบียนกับInternet Assigned Numbers Authority (IANA)แม้ว่าในทางปฏิบัติจะใช้รูปแบบที่ไม่ได้ลงทะเบียน [ข]datairc
  • เป็นทางเลือกองค์ประกอบ อำนาจหน้าที่นำหน้าด้วยเครื่องหมายทับสองอัน (//) ซึ่งประกอบด้วย:
    • เป็นทางเลือกส่วนประกอบย่อย userinfoที่อาจประกอบด้วยชื่อผู้ใช้รหัสผ่านทางเลือกที่นำหน้าด้วยเครื่องหมายทวิภาค (:) ตามด้วยสัญลักษณ์ at (@) การใช้รูปแบบusername:passwordในองค์ประกอบย่อย userinfo เลิกใช้แล้วเนื่องจากเหตุผลด้านความปลอดภัย แอปพลิเคชันไม่ควรแสดงข้อมูลใดๆ หลังจากโคลอนแรก (:) ที่พบในองค์ประกอบย่อย userinfo เป็นข้อความธรรมดา เว้นแต่ว่าข้อมูลหลังโคลอนเป็นสตริงว่าง (ระบุว่าไม่มีรหัสผ่าน)
    • อาส่วนประกอบย่อยของ โฮสต์ซึ่งประกอบด้วยชื่อที่ลงทะเบียน (รวมถึงแต่ไม่จำกัดเพียงชื่อโฮสต์) หรือที่อยู่IP ที่อยู่ IPv4ต้องอยู่ในรูปแบบจุดทศนิยมและIPv6ต้องอยู่ในวงเล็บเหลี่ยม ([]) [15] [ค]
    • เป็นทางเลือกส่วนประกอบย่อยของ พอร์ตที่นำหน้าด้วยโคลอน (:)
  • อาองค์ประกอบ เส้นทางประกอบด้วยลำดับของส่วนของเส้นทางที่คั่นด้วยเครื่องหมายทับ (/) เส้นทางถูกกำหนดไว้สำหรับ URI เสมอ แม้ว่าเส้นทางที่กำหนดอาจว่างเปล่า (ความยาวเป็นศูนย์) เซ็กเมนต์อาจว่างเปล่า ส่งผลให้มีการทับสองครั้งติดต่อกัน (//) ในคอมโพเนนต์พาธ คอมโพเนนต์พาธอาจมีลักษณะคล้ายหรือแมปกับพาธของระบบไฟล์ทุกประการ แต่ไม่ได้หมายความถึงความสัมพันธ์กับหากมีองค์ประกอบอำนาจ ส่วนประกอบของเส้นทางต้องว่างเปล่าหรือขึ้นต้นด้วยเครื่องหมายทับ (/) หากไม่มีองค์ประกอบอำนาจ เส้นทางจะไม่สามารถเริ่มต้นด้วยส่วนที่ว่างเปล่าได้ นั่นคือด้วยเครื่องหมายทับสองอัน (//) เนื่องจากอักขระต่อไปนี้จะถูกตีความว่าเป็นองค์ประกอบอำนาจ [17]
ตามแบบแผน ในhttpและhttps URIs ส่วนสุดท้ายของพาธมีชื่อว่าpathinfoและเป็นทางเลือก ประกอบด้วยส่วนของเส้นทางตั้งแต่ศูนย์ขึ้นไปซึ่งไม่ได้อ้างอิงถึงชื่อทรัพยากรที่มีอยู่จริง (เช่น ไฟล์ โปรแกรมโมดูลภายใน หรือโปรแกรมปฏิบัติการ) แต่เป็นส่วนตรรกะ (เช่น คำสั่งหรือส่วนคัดเลือก) ที่ต้อง จะถูกส่งต่อไปยังส่วนแรกของเส้นทางแยกกันซึ่งระบุโมดูลปฏิบัติการหรือโปรแกรมที่จัดการโดยเว็บเซิร์ฟเวอร์ มักใช้เพื่อเลือกเนื้อหาแบบไดนามิก (เอกสาร ฯลฯ) หรือปรับแต่งตามที่ร้องขอ (ดูเพิ่มเติมที่:CGIและ PATH_INFO เป็นต้น)
ตัวอย่าง:
URI:"http://www.example.com/questions/3456/my-document"
โดยที่: "/questions"เป็นส่วนแรกของพาธ (โมดูลหรือโปรแกรมปฏิบัติการ) และ"/3456/my-document"เป็นส่วนที่สองของพาธที่ชื่อ pathinfo ซึ่งส่งผ่านไปยังโมดูลปฏิบัติการหรือโปรแกรมที่ตั้งชื่อ"/questions"เพื่อเลือกเอกสารที่ร้องขอ
URI httpหรือhttpsที่ มีส่วน pathinfo ที่ ไม่มีส่วนการสืบค้นอาจถูกอ้างถึงเป็น ' URL ที่สะอาด ' ซึ่งส่วนสุดท้ายอาจเป็น ' slug '
ตัวคั่นแบบสอบถาม ตัวอย่าง
แอมเพอร์แซนด์ ( &) key1=value1&key2=value2
อัฒภาค ( ;) [ง] key1=value1;key2=value2
  • เป็นทางเลือกองค์ประกอบ แบบสอบถามนำหน้าด้วยเครื่องหมายคำถาม (?) ที่มีสตริงการสืบค้นข้อมูลที่ไม่ใช่ลำดับชั้น ไวยากรณ์ของมันไม่ได้ถูกกำหนดไว้อย่างดี แต่โดยแบบแผนมักจะเป็นลำดับของคู่แอตทริบิวต์-ค่าที่คั่นด้วยตัวคั่น
  • เป็นทางเลือกส่วนประกอบแฟรกเมนต์นำหน้าด้วยแฮ(#) ส่วนย่อยประกอบด้วยตัวระบุส่วนย่อยทิศทางไปยังทรัพยากรรอง เช่น ส่วนหัวของส่วนในบทความที่ระบุโดย URI ที่เหลือ เมื่อทรัพยากรหลักเป็นHTMLส่วนย่อยมักเป็นidแอตทริบิวต์ขององค์ประกอบเฉพาะ และเว็บเบราว์เซอร์จะเลื่อนองค์ประกอบนี้มาให้ดู

โดยปกติเว็บเบราว์เซอร์จะยกเลิกการอ้างอิง URL โดยดำเนินการ ร้องขอ HTTPไปยังโฮสต์ที่ระบุ โดยค่าเริ่มต้นบนพอร์ตหมายเลข 80 URL ที่ใช้httpsแบบแผนกำหนดให้มีการร้องขอและตอบกลับผ่านการเชื่อมต่อที่ปลอดภัยไปยังเว็บไซต์

URL สากล

ผู้ใช้อินเทอร์เน็ตกระจายไปทั่วโลกโดยใช้ภาษาและตัวอักษรที่หลากหลาย และคาดว่าจะสามารถสร้าง URL ด้วยตัวอักษรท้องถิ่นของตนเองได้ Internationalized Resource Identifier (IRI) คือรูปแบบของ URL ที่มีอักขระ Unicode เบราว์เซอร์ที่ทันสมัยทั้งหมดรองรับ IRI ส่วนของ URL ที่ต้องการการดูแลเป็นพิเศษสำหรับตัวอักษรที่แตกต่างกันคือชื่อโดเมนและเส้นทาง [19] [20]

ชื่อโดเมนใน IRI เรียกว่าInternationalized Domain Name (IDN) ซอฟต์แวร์เว็บและอินเทอร์เน็ตแปลงชื่อโดเมนโดยอัตโนมัติเป็นpunycodeที่ระบบชื่อโดเมนใช้งานได้ ตัวอย่างเช่น URL ภาษาจีนhttp://例子.卷筒纸จะกลายเป็นhttp://xn--fsqu00a.xn--3lr804guic/. บ่งชี้ว่า อักขระxn--นั้นไม่ใช่ ASCII เดิม (21)

ชื่อพาธ URL ยังสามารถระบุได้โดยผู้ใช้ในระบบการเขียนในเครื่อง หากยังไม่ได้เข้ารหัส จะถูกแปลงเป็นUTF-8และอักขระใดๆ ที่ไม่ได้เป็นส่วนหนึ่งของชุดอักขระ URL พื้นฐานจะใช้ Escape เป็นเลขฐานสิบหกโดยใช้ การเข้ารหัส แบบเปอร์เซ็นต์ ตัวอย่างเช่น URL ภาษาญี่ปุ่น http://example.com/引き割り.htmlจะกลายเป็นhttp://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html. คอมพิวเตอร์เป้าหมายจะถอดรหัสที่อยู่และแสดงหน้า (19)

URL ที่สัมพันธ์กับโปรโตคอล

Protocol-relative links (PRL) หรือที่เรียกว่า protocol-relative URL (PRURL) คือ URL ที่ไม่ได้ระบุโปรโตคอล ตัวอย่างเช่น//example.comจะใช้โปรโตคอลของหน้าปัจจุบัน โดยทั่วไปคือ HTTP หรือ HTTPS [22] [23]

ดูสิ่งนี้ด้วย

หมายเหตุ

  1. ^ URL หมายถึงวิธีเข้าถึงทรัพยากรที่ระบุและแสดงโดยโปรโตคอลหรือกลไกการเข้าถึง ซึ่งไม่เป็นความจริงในทุก URI [5] [4]ดังนั้นhttp://www.example.comคือ URL ในขณะที่www.example.comไม่ใช่ [6]
  2. ^ ขั้นตอนการลงทะเบียน URI Scheme ใหม่ถูกกำหนดโดย RFC 2717 ในปี 2542 และปัจจุบันกำหนดโดยRFC  7595ซึ่งเผยแพร่ในเดือนมิถุนายน 2558 [14] 
  3. ^ สำหรับ URI ที่เกี่ยวข้องกับทรัพยากรบนเวิลด์ไวด์เว็บ เว็บเบราว์เซอร์บางตัวยอมให้.0ทิ้งบางส่วนของสัญกรณ์จุดทศนิยมหรือใช้ที่อยู่ IP ของเลขจำนวนเต็มดิบ [16]
  4. ^ ประวัติศาสตร์ RFC 1866 (ล้าสมัยโดยRFC  2854 ) สนับสนุนให้ผู้เขียน CGI สนับสนุน ';' นอกเหนือจาก '&' [18] 

การอ้างอิง

  1. ^ W3C (2009) .
  2. ^ "ฟอร์เวิร์ดและแบ็ กส แลช ใน URL" zzz.buzz _ สืบค้นเมื่อ2018-09-19 .
  3. ^ RFC 3986 (2005) .
  4. ^ a b Joint W3C/IETF URI Planning Interest Group (2002 )
  5. ^ RFC 2396 (1998) .
  6. มีสเลอร์, แดเนียล. "ความแตกต่างระหว่าง URL และ URI "
  7. ^ เป็น W3C (1994) .
  8. ^ IETF (1992) .
  9. ^ a b Berners-Lee (2015) .
  10. ^ ข่าวบีบีซี (2009) .
  11. เบอร์เนอร์ส-ลี, ทิม ; คอนนอลลี่, แดเนียล "แดน" (มีนาคม 1993) Hypertext Markup Language (ร่าง RFCxxx) (รายงานทางเทคนิค) หน้า 28.
  12. เบอร์เนอร์ส-ลี, ทิม ; มาสเตอร์, แลร์รี่ ; แมคคาฮิล, มาร์ค เพอร์รี (ตุลาคม 2537) Uniform Resource Locators (URL) (รายงานทางเทคนิค)(Internet-Draft นี้เผยแพร่เป็น Proposed Standard RFC, RFC 1738 (1994) ) อ้างถึงในAng, CS; มาร์ติน ดีซี (มกราคม 2538) ส่วนต่อประสานส่วนประกอบที่เป็นส่วนประกอบ++ (รายงานทางเทคนิค) ห้องสมุด UCSF และศูนย์การจัดการความรู้
  13. ^ RFC 3986 ตอนที่ 3 (2005) .
  14. ^ IETF (2015) .
  15. ^ RFC 3986 (2005) , §3.2.2.
  16. ^ ลอว์เรนซ์ (2014) .
  17. ^ RFC 2396 (1998) , §3.3.
  18. ^ RFC 1866 (1995) , §8.2.1.
  19. ^ ข W3C ( 2008) .
  20. ^ W3C (2014) .
  21. ^ ไออาน่า (2003) .
  22. กลาเซอร์, เจดี (2013). การพัฒนาที่ปลอดภัยสำหรับแอพมือถือ: วิธีการออกแบบและเขียนโค้ดแอพพลิเคชั่นมือถือที่ปลอดภัยด้วย PHP และ JavaScript ซีอาร์ซี เพรส . หน้า 193. ISBN 978-1-48220903-7. สืบค้นเมื่อ2015-10-12 .
  23. ^ Schafer, Steven M. (2011). HTML, XHTML และ CSS พระคัมภีร์ จอห์น ไวลีย์ แอนด์ ซันส์ . หน้า 124. ISBN 978-1-11808130-3. สืบค้นเมื่อ2015-10-12 .

อ้างอิง

ลิงค์ภายนอก