Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Server Response Header "Cowboy"

In the Server response header returned from my site hosted on Heroku and served by NodeJS/express, I see the value Cowboy.

  • Who's outputting that value for Server?
  • Bonus, what's the "etymology"/reason for using Cowboy as the value for Server?
like image 611
culturalanomoly Avatar asked Jan 07 '15 17:01

culturalanomoly


People also ask

What is server in response headers?

The Server header describes the software used by the origin server that handled the request — that is, the server that generated the response. Warning: Avoid overly-detailed Server values, as they can reveal information that may make it (slightly) easier for attackers to exploit known security holes.

How do I find my server response header?

In Chrome, visit a URL(such as https://www.google.com ), right click, select Inspect to open the developer tools. Select Network tab. Reload the page, select any HTTP request on the left panel, and the HTTP headers will be displayed on the right panel.

What is cowboy server?

Cowboy is a small, fast and modern HTTP server for Erlang/OTP. Cowboy aims to provide a complete modern Web stack. This includes HTTP/1.1, HTTP/2, Websocket, Server-Sent Events and Webmachine-based REST.


2 Answers

That would probably be heroku/cowboy. "Cowboy" is just an arbitrary project name that ninenines/cowboy chose. It's just as random as "Apache" (a patchy version of its predecessor), "nginx", "unicorn", etc.

like image 177
Peter Lyons Avatar answered Oct 20 '22 00:10

Peter Lyons


Bonus answer "etymology": It doesn't say on it's GitHub page (https://github.com/heroku/cowboy), but here are some guesses:

  • Because it runs on Ranch (https://github.com/heroku/ranch): Ranch is a socket acceptor pool for TCP protocols?
  • Possibly also because it sees Apache as a competitor?
like image 21
cyberspy Avatar answered Oct 19 '22 23:10

cyberspy