3
ทำไมชื่อโฮสต์ถึงประกาศไม่ถูกต้องเมื่อสร้าง URI
ใช้รหัสนี้กับ JDK 1.8: try { System.out.println( new URI(null, null, "5-12-145-35_s-81", 443, null, null, null)); } catch (URISyntaxException e) { e.printStackTrace(); } ผลลัพธ์ในข้อผิดพลาดนี้: java.net.URISyntaxException: Illegal character in hostname at index 13: //5-12-145-35_s-81:443 ไม่ข้อผิดพลาดนี้มาจากไหนพิจารณาทุกตัวอักษรชื่อโฮสต์ดูเหมือน Legit ตามประเภทของตัวอักษร URI ? ถ้าฉันใช้ URL เหล่านี้: //5-12-145-35_s-81:443หรือ/5-12-145-35_s-81:443ข้อผิดพลาดหายไป จากความคิดเห็นฉันเข้าใจว่าตามRFC-2396ชื่อโฮสต์ไม่สามารถมีอักขระขีดล่างใด ๆ คำถามที่ยังคงอยู่คือทำไมชื่อโฮสต์ที่ขึ้นต้นด้วยเครื่องหมายทับหรือเครื่องหมายทับสองได้รับอนุญาตให้มีขีดล่าง?
17
java