1. Supports both HTTP and HTTPS protocols.2. Asynchronous uploads with real-time monitoring of percentage completion and number of bytes transferred. 3. Abort capability. 4. Add arbitrary HTTP POST form parameters to your upload. 5. Upload multiple files in a single transaction. 6. Add arbitrary (custom) HTTP header fields to the HTTP upload. 7. Retrieve the HTTP response status, header, and body returned by the web server.