โครงการ URI คืออะไร


18

ฉันค้นหาคำถามนี้แล้ว แต่ไม่พบคำตอบที่ดี

แม้แต่บทความ Wikipedia เกี่ยวกับURIsก็ไม่ได้อธิบายอย่างละเอียด ฉันคิดว่ามันเป็นโปรโตคอลสำหรับการเข้าถึงหน้าเว็บ เช่น HTTP / HTTPS / FTP แต่บทความ wiki พูดเป็นอย่างอื่น

รูปแบบ URI บางอย่างไม่เกี่ยวข้องกับโปรโตคอลเฉพาะใด ๆ (เช่น "ไฟล์") และอื่น ๆ อีกมากมายไม่ใช้ชื่อของโปรโตคอลเป็นคำนำหน้า (เช่น "news")

ฉันรู้ว่าสิ่งที่เป็นส่วนหนึ่งของ URL เป็นโครงการ แต่คำถามที่แท้จริงของฉันคือมันทำอะไร?

คำตอบ:


17

โอเคฉันรู้ว่าส่วนใดของ URL ที่เป็นแบบแผน แต่คำถามที่แท้จริงของฉันคือมันทำอะไร?

มันจะบอกวิธีการตีความส่วนของ URL หลังโคลอน

ตัวอย่างเช่นในfile://usr/share/docส่วนfileบอกฉันหลังจากเครื่องหมายโคลอนควรตีความว่าเป็นเส้นทางระบบไฟล์ที่มีในเครื่อง สิ่งนี้ไม่เหมือนกับโปรโตคอลเนื่องจากไม่มีเลเยอร์การส่งผ่านหรือการเข้ารหัส - ไคลเอนต์เพิ่งใช้การเรียกระบบโลคัลปกติเพื่อเข้าถึง

ในทางกลับกันhttps://programmers.stackexchange.comระบุโปรโตคอล (https) แต่ยังต้องการให้ลูกค้าเลือกตัวเองเกี่ยวกับการขนส่งทางกายภาพที่ใช้ในการเข้าถึง


ดังนั้นurn:isbn:096139210xใช้สองรูปแบบ? นี้มาจากเอกสารจาวา: docs.oracle.com/javase/8/docs/api/java/net/URI.html
Niing

8

การอ้างอิงจาก Wikipedia อาจทำให้เข้าใจผิดเล็กน้อย หมายความว่าอะไรตัวอย่างเช่นfile:โครงการ URI ไม่ได้ระบุว่าจะใช้วิธีใดในการเข้าถึงข้อมูล (หรือสิ่งที่ชี้ไป) เมื่อhttp:คุณรู้ว่ามีการใช้โปรโตคอล HTTP ด้วยfile:แอพพลิเคชั่นที่ต้องการใช้

ด้วยnews:ชื่อโปรโตคอลคือ NNTP แต่ชื่อไม่ได้สะท้อนถึงสิ่งนั้น ซึ่งเป็นสิ่งที่ดีในใจของฉันเนื่องจากnews:มีความชัดเจนมาก

ดังนั้นรูปแบบ URI เป็นเพียงส่วนแรกรวมถึงลำไส้ใหญ่


1

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

มันยากที่จะพูดอะไรโดยทั่วไปสำหรับแผนการเพราะพวกเขาแตกต่างกันอย่างดุเดือด ในหลายกรณีชื่อของโครงการคือชื่อของโปรโตคอลที่สามารถใช้ในการดึงทรัพยากร (เช่น http, https, ftp ฯลฯ ) แต่นั่นไม่ใช่กฎที่ยากเช่น ชุดรูปแบบ 'mailto' ระบุที่อยู่อีเมล แต่ไม่ใช่โปรโตคอลเฉพาะ บางรูปแบบไม่สอดคล้องกับโปรโตคอลใด ๆ เช่น 'เกี่ยวกับ' รูปแบบที่ใช้ในเว็บเบราว์เซอร์ซึ่งทรัพยากรไม่ได้ดึงผ่านโปรโตคอลเลย แต่มีอยู่ในตัวในไคลเอนต์


0

มันเป็นส่วนหนึ่งของลำไส้ใหญ่ใน URI

ตัวอย่างเช่นโครงการสำหรับมีhttp://en.wikipedia.org/ httpสำหรับโครงการมีfile:///etc/passwd fileสำหรับโครงการมีftp://example.org/resource.txtftp


0

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

มันเป็นเพียงสายอักขระที่แสดงชุดของทรัพยากร


0

ฉันชอบคำอธิบายของ Apple:

โครงการ URL ที่เป็นส่วนหนึ่งของการเชื่อมโยงที่ที่ระบุชนิดของการประยุกต์ใช้อุปกรณ์ของคุณเพื่อเปิด URL ปพลิเคชันหลายคนสนับสนุนแผนการ URL: FaceTime ใช้คีม URL ที่จะทำให้สายเมื่อ URL ที่เริ่มต้นด้วยการfacetime://เปิดเช่นเดียวกับ Safari URL http://ที่เริ่มต้นด้วยการจับ

รูปแบบ URL ของทางลัดshortcuts://, เรียกใช้แอปทางลัดจากลิงก์เพื่อดำเนินงานเช่นการนำเข้าหรือใช้ทางลัด ลิงก์เหล่านี้มีประโยชน์ในบริบทต่าง ๆ เช่นบนเว็บหรือเมื่อใช้ทางลัดกับแอพอื่น ๆ ที่สนับสนุน URL ที่เปิด

แหล่ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.