If I sent a message via http to a smart contract, how secure is that? If I cannot use TLS, then could someone listen at he port and then intercept the message and then divert the message to an unknown blockchain?
All the data in the blockchain is public and anyone with a copy of it can read transactions sent to a contract and do anything they want to do with it.
It depends where are your keys stored:
keys are stored in the client side (ie metamask, hardware wallet): transactions are signed and cannot be modified without tampering with the signature.
keys are stored in the server (ie inside a client like geth or parity): you have to secure the communication between your ui and the server, for example with SSL certificates or an SSH tunnel.
You need to either find a node that accepts SSL or run a local node and setup ngnix with SSL, as described here: