Simple HTTP server in Java using only Java SE API

Since Java SE 6, there’s a builtin HTTP server in Sun Oracle JRE. The com.sun.net.httpserver package summary outlines the involved classes and contains examples. Here’s a kickoff example copypasted from their docs (to all people trying to edit it nonetheless, because it’s an ugly piece of code, please don’t, this is a copy paste, not mine, moreover you should never edit quotations … Read more

Are HTTP headers case-sensitive?

Header names are not case sensitive. From RFC 2616 – “Hypertext Transfer Protocol — HTTP/1.1”, Section 4.2, “Message Headers”: Each header field consists of a name followed by a colon (“:”) and the field value. Field names are case-insensitive. The updating RFC 7230 does not list any changes from RFC 2616 at this part.

Response Content type as CSV

Using text/csv is the most appropriate type. You should also consider adding a Content-Disposition header to the response. Often a text/csv will be loaded by a Internet Explorer directly into a hosted instance of Excel. This may or may not be a desirable result. The above will cause a file “Save as” dialog to appear … Read more

How are parameters sent in an HTTP POST request?

The values are sent in the request body, in the format that the content type specifies. Usually the content type is application/x-www-form-urlencoded, so the request body uses the same format as the query string: When you use a file upload in the form, you use the multipart/form-data encoding instead, which has a different format. It’s more complicated, but … Read more

Setting Curl’s Timeout in PHP

See documentation: http://www.php.net/manual/en/function.curl-setopt.php CURLOPT_CONNECTTIMEOUT – The number of seconds to wait while trying to connect. Use 0 to wait indefinitely.CURLOPT_TIMEOUT – The maximum number of seconds to allow cURL functions to execute. also don’t forget to enlarge time execution of php script self: