SOAP协议初级指南 - 编程入门网
应用采用text/html 或其它基于文本的语法。
注意在上面样例中Content-Length头与请求体之间的空行。不同的HTTP头被carriage-return/行码序列划定界限。这些头与体之间用另外的carriage-return/行码序列来划定界限。请求接着包括原始字节,这些字节的语法和长度由Content-Length和Content-Type HTTP 头来识别。在这个例子中,内容是十二字节的普通文本字符串"Hello, World"。 在处理了请求之后,HTTP服务器被期望发回一个HTTP响应到客户端。响应必须包括一个状态代码来表示请求的结果。响应也可以包含任意的体信息。下面是一个HTTP响应消息: 200 OK Content-Type: text/plain Content-Length: 12 dlroW ,olleH 在这个例子中,服务器返回状态代码200,它是HTTP中标准的成功代码。如果服务器端不能破解请求代码,它将返回下列的响应: 400 Bad Request Content-Length: 0 如果HTTP服务器决定到目标URI的请求应该临时转向另外的一个不同的URI,下列响将被返回: 307 Temporarily Moved Location: http://209.110.197.44/foobar Content-Length: 0 这个响应告知客户,请求将能够通过重新传递它到在Location头中指定的地址来被满足。 所有的标准状态码和头都在RFC 2616中被描述。它们中很少的内容与SOAP用户直接相关,但有一个明显的例外。在HTTP/1.1,底层的TCP连接在多个请求/响应对之间重用。HTTP Connection头允许客户端或服务器中任何一方关闭底层的连接。通过增加下列HTTP头到请求或响应中,双方都会要求在处理请求后关闭它们的TCP连接: Connection: close 当与HTTP/1.0软件交互时,为了保持TCP连接,建议发送方加入下列HTTP头到每个请求或响应中: Connection: Keep-Alive 这个头使缺省的HTTP/1.0协议在每次响应后重新开始TCP连接的行为无法使用。 HTTP的一个优点是它正被广泛的使用和接受。图4表示了一个简单的Java程序,它发送前面表示的请求并从响应中解析出结果字符串。 下面则是一个简单的C程序用CGI来读取来自HTTP请求的字符串并通过HTTP响应把它的逆序串返回。
服务器的实现是用Java servlet,以避免CGI的每个请求一个进程的开销。 一般来说CGI是花费代价最小的写HTTP服务器端代码的方法。实际上,每一个HTTP服务器端产品都提供了一个更有效的机制来让你的代码处理一个HTTP请求。IIS提供了ASP和ISAPI作为写HTTP代码的机制。Apache允许你用运行在Apache后台程序中的 C或Perl来写模块。大多数应用服务器软件允许你写Java servlet,COM组件,EJB Session beans或基于可携带对象适配器(POA)接口的CORBA servants。 SOAP协议初级指南(4)时间:2010-12-10XML作为一个更好的网络数据表达方式(NDR) HTTP是一个相当有用的RPC协议,它提供了IIOP或DCOM在组帧、连接管理以及序列化对象应用等方面大部分功能的支持。( 而且URLs与IORs和OBJREFs在功能上令人惊叹的接近)。HTTP所缺少的是用单一的标准格式来表达一个RPC调用中的参数。这则正是XML的用武之地。 象NDR和CDR,XML是一个与平台无关的中性的数据表达协议。XML允许数据被序列化成一个可以传递的形式,使得它容易地在任何平台上被解码。XML有以下不同于NDR和CDR的特点: 有大量XML编码和解码软件存在于每个编程环境和平台上XML基于文本,相当容易用低技术水平的编程环境来处理XML是特别灵活的格式, |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |