一直使用Windows Live Writer来写博客,但对于其使用的xmlrpc协议一点都还不知道。本来是想找一个基于xmlrpc协议的软件来Windows Live Writer的功能,因为微软自己产的软件除了Office体验还行以为,其余用户体验基本处于最低端
于是查询相关的软件,但好像不多,也许应该叫没有,但xmlrpc有点意思,不同的语言都有基于其协议的实现,如果自己有时间的话,开发一款自己用起来还算顺手的工具应该不是一件难事,但基于我目前困于温饱问题还没有解决的现状,这个基本也属于自己想象的一款软件吧(其实我自己想象的软件已经很多了,自己动手做的真是少之又少)。由于博客的没落,我也相信这样的软件也不会受到更多人的欢迎,大家使用一下Windows的产品就可以了。
接着又看到了jsonrpc的信息,他们都属于SOAP的一部分,而SOAP的实现方式是http请求与响应,只不过中间传递的数据根据协议的不同而不同罢了。于是我又在问自己,http请求究竟是怎样实现的?其数据组织格式是什么?我们怎么通过更低一级的socket编程来模拟http请求?于是查找了相关信息,大概了解了socket怎么样组织请求,怎么样来伪装自己,比起语言本身封装的http请求,这些内容让我更进一步了解了http协议的原理
普通form和文件form有什么不同?其组织形式是怎样的?普通的from可以以文本的形式获取到,而文件form则是以流(java)来读入的,根据php经验,http头和内容的区分只是根据两个“\r\n”来完成的。http协议可以设定文件的读取起始位置,这样可以来做断点续传
socket是基于tcp协议的,所以比http更低一层,其实现https的方式是使用SSL进行加密。客户端实现实时通信是通过相互监听来实现的,即,一款软件会在你的机器打开一个tcp端口来监听服务器的回应。但这种情况在NAT下面会遇到问题,因为NAT服务器不允许主动访问内网机器,只能被动的方法。这其实就把双方监听的优势给磨灭了;但好在客户端的软件也是我们写的,这样我们就可以主动发起请求,穿透NAT;