Netcat. You can type in the request(s) and see the response(s) from the server. If you know the HTTP protocol, it's not a problem at all. In fact, it's better than curl or other higher-level libraries/applications, since here you can send whatever you like (malformed requests) and test the corner cases in your server's behavior. You can also redirect the input (and output), which is especially useful when you want to test HTTP/1.1 request pipelining. Keep in mind that sending CRLFs in Unix using Netcat is harder than on Windows, where you can simply press Enter.