THttpServer
Jump to navigation
Jump to search
Main page -> ICS components reference -> THttpServer
Contents
Overview
- unit HttpSrv.pas
- inheritance THttpServer- TComponent
THttpServer component is implementing the server side HTTP protocol. HTTP protocol is the standard protocol for browsing the World Wide Web.
If you want to write a web application, you should use THttpAppSrv which derive from THttpServer and add a lot of nice features to ease writing HTTP application server.
Properties
| Addr | Binds the server to a specific IP-address and only receives request for that IP+Port. | |
| AuthDigestMethod | Select the method to be used for digest authentication. | |
| AuthDigestNonceLifeTimeMin | Life time for digest nonce. | |
| AuthRealm | Name space for authentication. | |
| AuthTypes | Allowed authentications methods. | |
| DefaultDoc | Name of the default document. | |
| DocDir | Path name for the root directory where documents are stored. | |
| IcsLogger | Reference to the TIcsLgger component. | |
| KeepAliveTimeSec | Keep alive time expressed in seconds. | |
| LingerOnOff | How linger must be done. This affect the way sockets are closed. | |
| LingerTimeout | How long should the socket linger when closing. | |
| ListenBackog | How many connections can be queued by the OS before refusing new connections. | |
| MaxClients | Maximum number of simultaneous client accepted. Use 0 if not limit desired. | |
| MaxRequestsKeepAlive | MaxRequestsKeepAlive. | |
| Name | Component name. | |
| Options | Affect how the component is operating. | |
| Port | TCP port number the component has to listen to. | |
| Tag | Tag. | |
| TemplateDir | Path where the component search for dynamic pages templates. |
Runtime properties
| ClientCount | Number of currently connected clients. | |
| Client | Array of connected clients. Index is from 0 to ClientCount - 1. | |
| ClientClass | Reference to the class the component has to instanciate for each client. | |
| WSocketServer | Reference to the underlaying TWSocketServer. |
Methods
| Start | Starts the webserver so it lisen for incoming requests. |
Events
| OnServerStarte | Triggered when server has started listening | |
| OnServerStopped | Triggered when server has stopped listening | |
| OnClientConnect | Triggered when a client has connected | |
| OnClientDisconnect | Triggered when a client is about to disconnect. | |
| OnGetDocument | Triggered when a client sent GET request. You can either do nothing and let server handle all work, or you can build a document on the fly or refuse access. | |
| OnHeadDocument | Triggered when a client sent HEAD request. You can either do nothing and let server handle all work, or you can build a document header on the fly or refuse access. | |
| OnPostDocument | Triggered when a client sent POST request. You have to tell if you accept data or not. If you accept, you'll get OnPostedData event with incomming data. | |
| OnPostedData | Triggered when client post data and you accepted it from OnPostDocument event. When you've got all data, you have to build a reply to be sent to client. | |
| OnHttpRequestDone | A HTTP request has been handled on behalf of a client. | |
| OnBeforeProcessRequest | Triggered before processing any request. | |
| OnFilterDirEntry | Triggered to filter directory entries. | |
| OnAuthGetPassword | Triggered to get the password for authentication | |
| OnAuthResult | TAuthResultEvent | |
| OnAuthGetType | TAuthGetTypeEvent | |
| OnAuthNtlmBeforeValidat | TAuthNtlmBeforeValidate | |
| OnUnknownRequestMethod | Triggered when an unimplemented request is received. The request headers, method, path, etc., will be populated. |