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.
What I would do is create a dapp to interact with the contract,and put that dapp in a safe server with https or a VPN on. This way data from dapp to the contract would be safe. But I guess if between you in the dapp is compromised (let's say with a malware or keylogger) then it won't
You need to either find a node that accepts SSL or run a local node and setup ngnix with SSL, as described here: