Web Hosting Question:

If I have a pc and a connection can I turn that into a server then host my website?

If yes
Is it efficient?

You can. You just have to register your computer as a public domain with a DNS provider to be able to access it outside of your own local network. That is how browsers turn some string name (like “google.com”) into the location of some computer or data center on the internet. It costs a small amount of money to own the domain (usually paid annually).

Using your local computer is bad for lots of reasons but I do not really know of something that would stop you (aside from maybe your ISP preventing it somehow by hiding your address from the DNS provider).

Some reasons why this is a bad idea:

  1. availability is exactly one computer serving that traffic
  2. the traffic from visitors to the site competes for resources with you doing other things on your computer
  3. malicious individuals now have a convenient way to access your computer via its DNS name
  4. no redundancy if your computer dies (including possible data loss)

Anyway good luck to you.