การวิเคราะห์เปรียบเทียบกลวิธีในการลดความยาวของ URL - ประเสริฐ วิชชุโอภาส (จุฬาลงกรณ์มหาวิทยาลัย, 2001)
Webs Proxy Caches usually process large amounts of URLs to identify if requested pages are in the caches and to communicate among shared Web Caches. Improving URL processing can greatly enhance the performance of Web Caches. The preliminary study of this thesis shows that the requirements of URL processing for web caching application are varied. Typically, many Web Proxy Caches use a hashing function, MD5, to encode URL. However, there is no study of a suitable algorithm for URL. In this study, we choose some well-known encoding or hashing algorithms, use them to encode URL in web access log and compare their encoding time, encoded length, and number of collisions. The comparison of the result is used as a guideline to select suitable URL encoding algorithm. In our experiment, 12 well known coding and hashing algorithms include MD5 are selected to encode the cacheable URL from web access log of Office of Information Technology, Chulalongkorn University. We found that complicated algorithms use more time to encode URL but their encoded keys have less number of collisions. In addition, we found that algorithms that generate shorter length encoded keys lead to more number of collisions. Our studies indicate that there is no algorithm that can be considered the best for every Web Cache Applications. The algorithm that is suitable for each Web Cache Application is determined by their core requirements. For example, applications that speed and key length are critical should use CRC-16, Digit Analysis method, or Folding method as their main coding algorithm. Applications that require no collision and focus on fast speed should use a MD2, MD4, or MD5 algorithm. However, if some collisions are allowed, CRC-32 and Folding method are suitable. For the applications that require short length key and tolerate some collisions, CRC-32, Division method and Folding method should be selected. We also found that the CRC-32 and Folding method are faster than other algorithms and their encoded keys have very low collision rates. Therefor, combining these 2 algorithms may create a new powerful algorithm for Web Cache Application.