user323: Are there any implementations of a Bitcoin client that would run over HTTP, allowing one to communicate by, for example, sending raw message bytes as a POST?
Edit:
I'm not looking for ways to control a Bitcoin client remotely, for example telling it to send some of the coins it is holding, encrypt a wallet or the like. What I want to find is a server that takes HTTP calls and answers back similarly to how the Bitcoin client would. For example, providing its block chain, exchanging list of pending transactions, accepting signed transactions from outside, etc.

user22: To the best of my knowledge, there is not. I did, however (shameless plug) contribute some Python scripts to the official client a while back which could easily be coupled with Python's very simple HTTP Server module to perform the tasks you're after. I know it's more of a workaround than an official in-client feature, but it should work.

user105: The exit node part of BitcoinJS is sort of what you're looking for. Quote from wiki:

There are two main ways clients can interact with exit nodes:

REST API – HTTPS-based asynchronous API usable with almost any
  language or platform.
Socket API – Socket-based API providing realtime
  data events via JSON-RPC and – using Socket.IO – even for pure
  browser-based clients.


Example of using the REST API:
https://exit.trucoin.com:3125/pubkeys/register?keys=1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
registers a public key to get a handle.
https://exit.trucoin.com:3125/pubkeys/gettxs?handle=ManS6KcKCR1lpY0qCPiDOr9ej6HXQcVADFOMOGaMuD4=
uses that handle to get the transactions of the address.
It should also be possible to send a transaction but that part is not very well documented.

323: <p>Are there any implementations of a Bitcoin client that would run over HTTP, allowing one to communicate by, for example, sending raw message bytes as a POST?</p>

<p>Edit:
I'm not looking for ways to control a Bitcoin client remotely, for example telling it to send some of the coins it is holding, encrypt a wallet or the like. What I want to find is a server that takes HTTP calls and answers back similarly to how the Bitcoin client would. For example, providing its block chain, exchanging list of pending transactions, accepting signed transactions from outside, etc.</p>
 22: <p>To the best of my knowledge, there is not. I did, however (shameless plug) contribute some <a href="https://github.com/bitcoin/bitcoin/tree/master/contrib/bitrpc" rel="nofollow">Python scripts</a> to the official client a while back which could easily be coupled with Python's very simple <a href="http://docs.python.org/library/basehttpserver.html" rel="nofollow">HTTP Server module</a> to perform the tasks you're after. I know it's more of a workaround than an official in-client feature, but it should work.</p>
 105: <p>The <a href="https://github.com/bitcoinjs/node-bitcoin-exit/" rel="nofollow">exit node</a> part of <a href="http://www.bitcoinjs.org/" rel="nofollow">BitcoinJS</a> is sort of what you're looking for. Quote <a href="https://github.com/bitcoinjs/node-bitcoin-exit/wiki" rel="nofollow">from wiki</a>:</p>

<blockquote>
  <p>There are two main ways clients can interact with exit nodes:</p>
  
  <ul>
  <li>REST API – HTTPS-based asynchronous API usable with almost any
  language or platform.</li>
  <li>Socket API – Socket-based API providing realtime
  data events via JSON-RPC and – using Socket.IO – even for pure
  browser-based clients.</li>
  </ul>
</blockquote>

<p>Example of using the REST API:</p>

<p><a href="https://exit.trucoin.com:3125/pubkeys/register?keys=1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" rel="nofollow">https://exit.trucoin.com:3125/pubkeys/register?keys=1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa</a>
registers a public key to get a handle.</p>

<p><a href="https://exit.trucoin.com:3125/pubkeys/gettxs?handle=ManS6KcKCR1lpY0qCPiDOr9ej6HXQcVADFOMOGaMuD4=" rel="nofollow">https://exit.trucoin.com:3125/pubkeys/gettxs?handle=ManS6KcKCR1lpY0qCPiDOr9ej6HXQcVADFOMOGaMuD4=</a>
uses that handle to get the transactions of the address.</p>

<p>It should also be possible to send a transaction but that part is not very well documented.</p>
