Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 设置DB标志的电子邮件链接的最佳实践?_Html_Rest_Api_Http_Email - Fatal编程技术网

Html 设置DB标志的电子邮件链接的最佳实践?

Html 设置DB标志的电子邮件链接的最佳实践?,html,rest,api,http,email,Html,Rest,Api,Http,Email,我们的企业希望在客户与支持部门合作后通过电子邮件向他们发送一份调查报告。出于内部原因,我们想问他们邮件正文中的第一个问题。我们希望每个答案都有一个链接。该链接将转到一个web服务,该服务将存储答案,然后显示调查的其余部分 到目前为止还不错 我遇到的挑战是:基于HTTPGET更改服务器端是一种不好的做法,但您不能从链接执行POST。选择似乎是: 使用HTTP GET,即使这是不正确的,可能会导致问题() 在电子邮件中嵌入HTML表单,并设置一些按钮的样式,使其看起来像链接(可能与许多电子邮件平台

我们的企业希望在客户与支持部门合作后通过电子邮件向他们发送一份调查报告。出于内部原因,我们想问他们邮件正文中的第一个问题。我们希望每个答案都有一个链接。该链接将转到一个web服务,该服务将存储答案,然后显示调查的其余部分

到目前为止还不错

我遇到的挑战是:基于HTTPGET更改服务器端是一种不好的做法,但您不能从链接执行POST。选择似乎是:

  • 使用HTTP GET,即使这是不正确的,可能会导致问题()
  • 在电子邮件中嵌入HTML表单,并设置一些按钮的样式,使其看起来像链接(可能与许多电子邮件平台不兼容)
  • 不要在电子邮件中包含第一个问题(因业务原因不可能)
  • 使用HTTPGET,但要有某种机制,防止链接多次更改服务器状态

有谁有更好的建议吗?谷歌在这一特定情况下并没有发现太多。要记住的一点是,HTTP是指定语义,而不是实现。如果要在收到GET请求时更改服务器的状态,可以。看

安全方法的这种定义并不阻止实现包含潜在有害的行为、不完全只读的行为或调用安全方法时产生副作用的行为。然而,重要的是,客户没有要求额外的行为,因此不能对此负责。例如,大多数服务器在每次响应完成时都会附加请求信息以访问日志文件,而不管采用何种方法,这被认为是安全的,即使日志存储可能已满并导致服务器崩溃。同样,通过选择网络广告发起的安全请求通常会产生向广告账户收费的副作用

不可知域的客户端将假定GET是安全的,这意味着您的调查结果可能会因网络蜘蛛爬行链接、浏览器预加载资源以减少感知延迟等而失真


在某些情况下,另一种可行的方法是将通过图形的路径视为资源。每个答案链接就像一条面包屑路径,将客户答案的历史记录编码到自身中。因此,对前两个问题回答a和B的客户端正在查看
/survey/questions/questions three?AB
,而对这两个问题回答C的用户正在查看
/survey/questions/questions three?CC
。换句话说,您没有改变服务器的状态,您只是引导客户机通过预先生成的调查图。

需要记住的一点是,HTTP指定的是语义,而不是实现。如果要在收到GET请求时更改服务器的状态,可以。看

安全方法的这种定义并不阻止实现包含潜在有害的行为、不完全只读的行为或调用安全方法时产生副作用的行为。然而,重要的是,客户没有要求额外的行为,因此不能对此负责。例如,大多数服务器在每次响应完成时都会附加请求信息以访问日志文件,而不管采用何种方法,这被认为是安全的,即使日志存储可能已满并导致服务器崩溃。同样,通过选择网络广告发起的安全请求通常会产生向广告账户收费的副作用

不可知域的客户端将假定GET是安全的,这意味着您的调查结果可能会因网络蜘蛛爬行链接、浏览器预加载资源以减少感知延迟等而失真


在某些情况下,另一种可行的方法是将通过图形的路径视为资源。每个答案链接就像一条面包屑路径,将客户答案的历史记录编码到自身中。因此,对前两个问题回答a和B的客户端正在查看
/survey/questions/questions three?AB
,而对这两个问题回答C的用户正在查看
/survey/questions/questions three?CC
。换句话说,您没有改变服务器的状态,您只是引导客户机通过预先生成的调查图。

谢谢。你的最后一个建议很好,除了这方面的部分业务要求是,我们不仅在电子邮件中提出第一个问题,而且在单击链接时立即存储答案。至于HTTP规范,确实允许在HTTP GET上更改服务器端资源,但出于您提到的所有原因,这是不可取的。当某人的浏览器预加载两个链接时会怎样?如果有人点击一个页面几次,每次打开一个新标签时,Chrome都会将该页面作为其收藏夹的一部分预加载,那该怎么办?等等,谢谢你。你的最后一个建议很好,除了这方面的部分业务要求是,我们不仅在电子邮件中提出第一个问题,而且在单击链接时立即存储答案。至于HTTP规范,确实允许在HTTP GET上更改服务器端资源,但出于您提到的所有原因,这是不可取的。当某人的浏览器预加载两个链接时会怎样?如果有人点击一个页面几次,每次打开一个新标签时,Chrome都会将该页面作为其收藏夹的一部分预加载,那该怎么办?等