这是将多个参数发送到网页(在不同服务器上)的最佳方式(在性能和安全性方面),考虑到参数的长度可能会有所不同,因为我正在发送产品列表,以及客户可能选择了多个产品,因此我们需要将查询字符串上的每个产品发送到另一个页面。
例如(我在C#上);我想打个像这样的网页:
thepage.asp?Product=1&Name=Coffee&Value=1.99
{"Product":"1","Name":"Coffee","Value":"1.99"}
<xml><Products><product>1</product><name>Coffee</name><Value>1.99</Value></Products>
(显然我们不能通过查询字符串发送特殊字符,但我把它们放在这里以便更好地理解)
哪种方式更好(性能,安全性)?
提前致谢。
答案 0 :(得分:2)
根据您的评论,您仅限于第三方网站将接受的内容 - 如果它将处理的只是查询字符串,那就是您必须发送它的方式。如果它将处理表单帖子,那么您可以查看在帖子的标题中提交信息,但这将需要更多的工作(如果您正在构建WebRequest
,则还没有指定服务器端,或通过客户端的JavaScript执行此操作。)
考虑到所有事情,这里有一些一般性观点:
至于性能,它取决于创建查询字符串而不是创建XML或JSON字符串所需的处理量。
答案 1 :(得分:0)
我会使用简单的查询字符串方法,您可以编写一个实用程序将request.querystring集合转换为更适合您的格式(XML,JSON,字典等),恕我直言。
HTH。
答案 2 :(得分:0)
您需要记住,查询字符串的长度有限,具体取决于用户使用的浏览器。例如,IE6的限制为2053个字符。我建议你想出一个方法来保持你的查询字符串尽可能短,以避免达到这个限制。
就安全性而言,如果您在查询字符串中传递信息,则确实没有任何安全性。任何人都可以修改该信息然后发送。如果安全性是一个主要问题,您应该在将信息添加到查询字符串之前加密信息,或者找到一种不同的方法来完全发送信息。
答案 3 :(得分:0)
来问问题是什么?这是更好的方式。这里没有人回答。所有人都在讲述限制。但不是解决它的补救措施。假设我想传递100个动态生成的参数都是巨大的长度,我可以在这里使用POST()吗?我不这么认为,只考虑一下,应该采取什么补救措施?可以将集合对象作为参数传递。