![]() |
Any letters after "v2.009" (e.g. "c", "d", "e") are for customers testing the pre-release
builds. The public version includes ALL items on this page.
This change is implemented through the GetAppID, GetRandomSession and aSession properties and methods on TWebBasicApp. The UpdateRobotSettings function is called to load the designated web robot session number, on startup and on pWebApp Refresh. There is a new function on TWebBasicApp, isWebRobotRequest, which returns true when the current session number equals the designated web robot session number; it is public and you may use it in your own additional logic.
Here is a comparison of a JUMP to the a page before and after implementing this feature:
Before After /HREFSITE.1234:menu:1001.23423 /HREFSITE:menu /HREFSHOP.2929:browse:1001.3422 /HREFSHOP:browse /welcome:1001.3928 /welcomeThe HTML document received by the web robot will only contain "clean" links (i.e. the After column). This leads to optimal indexing of a site by spiders AND dramatically reduces the load on production servers because all web robots share a single session number instead of receiving an unlimited number of new ones. HREF saved $150/month in bandwidth fees in November and December 2001 after implementing this change on its public servers, presumably because its sites were so heavily (and redundantly) indexed.
host: www.adomain.com
with the appropriate domain name when Protocol equals HTTP/1.1.
This enables components using TWebSock (e.g. TWebHTTP) to contact a site running multi-homed
on an IP number.
Also the "advise" feature echos back the port number in addition to the domain name when connection is made.
Developers should make a file named WebHubRunner_KeyBox.cfg in same dir as the runisa.dll (should also work if in same dir as runwin.exe). (Note: configuration file was renamed to WebHubRunner.cfg in v2.014.) That file should contain this to customize the path:
[WebHubISAPIRunner] FileUploadPath=c:\temp\upload\
This new setting replaces the use of the optional /HttpColon parameter which had been implemented in dmWebHub.pas. The reason for the change is that the setting is usable when the Hub is run as a service (and command line parameters are not).
UseHttpHeader Hub Options|Default Added v2.009e
If present on the Hub's Options|Defaults page, a new entry named 'UseHttpHeader' will determine
the setting for TWebOutput.UseHttpHeader. The default value is TRUE. If you are
using Apache (or Netscape) web server with cgi-bin, try setting it to FALSE. This will
cause TWebOutput to avoid sending a normal HTTP header ("HTTP/1.0 200 OK") and
instead send "Status: 200 OK'. The web server software is expected to then look at the status
code and make its own HTTP header. If you set UseHttpHeader to FALSE then the etting
for HttpColon is never used.
For anyone wanting to make this fix in an earlier version of WebHub, in the htedmemo.DFM file, change the hint to say _RESET as shown here.
object btnReloadFile: TtpToolButton Hint = '_RESET~Reload this file from disk and undo all changes made in the editor' end
This avoids having pWebApp initialize to the first AppID in [WebSetups] when the form is loaded. It also means that the developer needs to explicitly set pWebApp.TheAppID and then call pWebApp.Refresh (which most developers, and all the demos, do anyway).
procedure TdmWebHubCore.WebAppNewSession(Sender:TObject; Session:Integer; const Command:String); begin inherited; if Session = 0 then exit; // ADDED THIS LINE OF CODE to avoid doing work for session #0.