UPGRADE
上传用户:seven77cht
上传日期:2007-01-04
资源大小:486k
文件大小:5k
源码类别:

浏览器

开发平台:

Unix_Linux

  1.           WWWOFFLE - World Wide Web Offline Explorer - Version 2.4a
  2.           =========================================================
  3. WHAT?
  4. -----
  5. The format of the cache that WWWOFFLE uses to store the web pages has changed in
  6. version 2.x compared to the previous versions.  If you have used WWWOFFLE
  7. version 1.x then you *MUST* upgrade the existing cache before you can use the
  8. new version of the program.
  9. HOW?
  10. ----
  11.          *** READ ALL THIS SECTION BEFORE DOING ANYTHING ELSE ***
  12. When you compile WWWOFFLE there is another program called 'upgrade-cache' that
  13. is also compiled.  You need to run this program to convert the cache from the
  14. old format to the new one.
  15. There are a number of options that you can take for this upgrade route, the
  16. following applies to all of them.
  17. In each of the options the basics are that you must run upgrade-cache and it
  18. takes an argument of the name of the cache directory that is used (usually
  19. /var/spool/wwwoffle).  When the program runs it prints out informational and
  20. warning messages, these may be useful.
  21. Option 1 - Be reckless
  22. Run 'upgrade-cache /var/spool/wwwoffle', watch the messages go flashing by and
  23. hope that it works.
  24. Option 2 - Be brave
  25. With sh/bash run 'upgrade-cache /var/spool/wwwoffle > upgrade.log 2>&1'
  26. or with csh/tcsh run 'upgrade-cache /var/spool/wwwoffle >& upgrade.log'
  27. read the messages and check the warnings.
  28. Option 3 - Be safe
  29. Backup the cache first then follow option 2.
  30. With GNU tar I suggest that you use the --atime-preserve option so that the
  31. access times of the files in the cache are not modified by performing the
  32. backup.  The index and purge options in WWWOFFLE use these so it is important.
  33. When it finishes, the multiple host named directories in /var/spool/wwwoffle are
  34. gone, moved into a new sub-directory called http.  The outgoing directory and
  35. this http directory are the only directories that should be left.
  36. If there is a warning message then you should decide what needs doing.  It could
  37. be any of the following reasons:
  38. That upgrade-cache was run by a user without write permissions.
  39. That one or more files were changed while the program was running.
  40. That there is a spare file in one of the host directories that needs deleting.
  41. That there is a symbolic link that does not point anywhere.
  42. If the upgrade-cache program crashes then that is a bug - tell me.
  43. If you are left with many files or directories and the warnings are unclear then
  44. this may be a bug - tell me.
  45. If there are only a small number of spare files or directories, then just delete
  46. them, you probably won't notice that they are missing.
  47. WHY?
  48. ----
  49. The existing scheme for naming of the files in the cache had some problems, the
  50. new one is better.
  51. 0) It was designed for my personal use which did not involve many web-pages
  52.    stored and did not visit any pages with unusual names,
  53.    You could say that the hacks that I implemented to get it working as I wrote
  54.    it were not well enough thought out.  But at the time I wrote it I wanted to
  55.    get it working as soon as possible and did not write it with the future
  56.    growth in mind.  The scheme as implemented has not caused any problems for me
  57.    personally.
  58. 1) It was possible for a web-page that has several possible arguments to be
  59.    stored incorrectly.
  60.    This is because for each page that has arguments a hash value is computed
  61.    from the arguments to provide a unique filename.  The reason for this failing
  62.    is that I used a hash function that I made up on the spot, giving a 32-bit
  63.    hashed value.  This seemed to be sufficient for 4 billion sub-pages with the
  64.    same path name for each host and path combination.  As it turned out the hash
  65.    function was not strong enough and the number of possibilities was much
  66.    smaller.
  67. 2) There was no provision for any protocol other than http.
  68.    Very quickly the idea of doing ftp as well came to my mind, but could not be
  69.    implemented easily or cleanly with the current system.
  70. 3) The outgoing directory was inefficient for large numbers of files.
  71.    An increasing sequence of numbers was used resulting in slow access, this was
  72.    fixed in version 1.2x but there could still be many requests for the same URL
  73.    in the directory.  Now a unique name based on a hash is used so that only one
  74.    request for each page is stored.
  75. 4) Bad characters and url-encoded URLs caused problems.
  76.    Some URLs that had funny characters including URL-encoded sequences caused
  77.    problems.  The URL http://www.foo.com/~bar and http://www.foo.com/%7Ebar are
  78.    the same URL but could be stored in different files.
  79. 5) It is now a neater design with no special cases.
  80.    Previously only files with arguments needed hashing, now all of them use a
  81.    hash, this simplifies the logic.  The format of the outgoing directory is the
  82.    same as the other directories.
  83. 6) There are more possibilities for future expansion.
  84.    It is now possible to consider adding more files to the cache to store extra
  85.    information about a URL, for example a password.  It is obvious now that this
  86.    would be another file with the same hash value but a different prefix.