I have been learning a lot about Maven lately and am very impressed. Where can I find information about communicating with, deploying to and retrieving from a repository in the same manner as Maven does? Is this done through some published protocol?
I have found information about OSGI (and OBR) but cannot tell if this is what I should be looking into.
I would like to do this in .net (for whatever reason). I do not mind looking through java source code if someone could point me to the correct component, but would much rather be pointed to the protocol specifications.
[EDIT] I see a lot of answers regarding HTTP. I would like to further clarify, I am not looking for the transfer protocol, I am looking for the API protocol. For example, the Simple Object Access Protocol (SOAP) uses the Hyper Text Transfer Protocol to transfer messages. What is the access protocol for Maven?
As khmarbaise already said the transfer protocol is in most cases http(s), but there are other protocols available, e.g. simple file access for local repositories, WebDAV, SCP, SFTP, and so on. A maven repository is more a special directory layout. There are servers like Nexus or Artifactory that offer additional functionality like proxying remote repositories or certain checks like authentication.
https://maven.apache.org/guides/introduction/introduction-to-repositories.html
Taken from
http://wiki.jfrog.org/confluence/display/rtf/repository+layouts
Maven Repository Layout:
[orgPath]/[module]/[baseRev](-[folderItegRev])/[module]-[baseRev](-[fileItegRev])(-[classifier]).[ext]
Example
org/eclipse/jetty/jetty-ajp/7.0.2.v20100331/jetty-ajp-7.0.2.v20100331.jar