okay i havent had coffee at this morning so try to explain as clearly as I can. .
Relays are dumb backends. They don't have a front end like a mastodon instance would when you install it. Clients like Amethyst, Damus, snort, take the data from those dumb backends and interpret it as posts, chats, etc...
All Nostr relays use web socket connections to communicate with clients (thats why you see wss:// in front of relay urls its "secure web socket")
As for relay implementations the two most popular ones seem to be "nostream" and "strifry" you can see a list of relay implementations along with a list of clients and other projects here :
https://github.com/aljazceru/awesome-nostr
Im running nostream for my relay personaly.