2010-07-29 15 views
9

मैं पूछना चाहूंगा कि कोई जावा पैकेज या लाइब्रेरी है जिसमें मानक यूआरएल सामान्यीकरण है? यूआरएल प्रतिनिधित्वमानक यूआरएल सामान्यीकरण - जावा

5 अवयव

http://www[dot]example[dot]com:8040/folder/exist?name=sky#head

  1. योजना: http
  2. अधिकार: www.example.com:8040
  3. पथ: /फ़ोल्डर/मौजूद है
  4. क्वेरी: नाम = आकाश
  5. टुकड़ा: #head

मानक यूआरएल सामान्यीकरण के 3 प्रकार

सिंटेक्स आधारित सामान्यीकरण

  • केस सामान्यीकरण - योजना पर सभी पत्रों को परिवर्तित करें मुझे और अधिकार घटकों को लोअर केस में
  • प्रतिशत-एन्कोड सामान्य - किसी भी प्रतिशत-एन्कोड ओकटेट कि इस तरह के हाइफन और% 5 अंडरस्कोर
  • पथ खंड सामान्य के लिए के लिए% 2 डी के रूप में अनारक्षित चरित्र से मेल खाती है, डिकोड - से डॉट खंडों को दूर पथ घटक, जैसे कि '।' के रूप में और '..'

योजना के आधार पर सामान्यीकरण

  • अनुगामी जोड़े '/' यूआरएल
  • 0 के अधिकार के घटक के बाद
  • निकालें डिफ़ॉल्ट पोर्ट संख्या, जैसे कि http योजना के लिए 80 के रूप में
  • URL के टुकड़ा काटें

प्रोटोकॉल आधारित सामान्यीकरण

  • केवल उचित जब संसाधनों तक पहुंच सकते के परिणाम के बराबर हैं
  • उदाहरण के लिए, example.com/data को example.com/data/ पर मूल सर्वर
0 द्वारा निर्देशित किया गया है

उत्तर

5

दूसरों का उल्लेख किया है के रूप में, java.net.URL और/या java.net.URI कुछ स्पष्ट शुरुआती बिंदु है।

यहाँ कुछ अन्य विकल्प:

  1. Galimatias (स्पेनिश "निरर्थक शब्द" के लिए) जावा के लिए एक स्वच्छंद और अपेक्षाकृत लोकप्रिय यूआरएल सामान्य पुस्तकालय प्रतीत होता है। स्रोत कोड github.com/smola/galimatias पर पाया जा सकता है।

    गैलीमाटिया java.net.URL और java.net.URI के साथ निराशा से शुरू हुआ। उन दोनों बुनियादी उपयोग के मामलों के लिए अच्छा हैं, लेकिन गंभीर रूप से दूसरों

  2. github.com/sentric/url-normalization पुस्तकालय एक और (असामान्य, मेरी राय में) दृष्टिकोण जहां यह डोमेन भाग पराजयों प्रदान करता है के लिए टूट; जैसे "stackoverflow.com" के बजाय "com.stackoverflow"।

आप अन्य भिन्नताओं को पा सकते हैं, कभी-कभी पाइथन, रूबी और जीथ्यूब पर PHP जैसे भाषाओं में लागू होते हैं।

संबंधित मुद्दे