将数据从设备发送到服务器的最佳方式是什么?
我有一个应用程序,其中设备将数据发送到我的应用程序并且应用程序存储数据。
我的问题是什么是从设备发送数据到服务器的最佳方式?
设备可以是智能手机。
现在我有一些像这样的数据一起发送URL请求:
将数据从设备发送到服务器的最佳方式是什么?
www.example.com:8888/Data/?id=12345&name=john&DOB=25-09-1974
我与Django的GET请求获取数据,然后保存数据。这是正确的吗?或者我应该遵循一些其他过程?
P.S数据不敏感。我的意思是安全不是一个问题。
您不应该通过“GET”将数据上传到服务器。这就是“POST”方法的用途。
根据HTTP/1.1规格:
POST方法用于请求源服务器接受括在所述请求由请求 - 标识的资源 的新下属的 实体请求行中的URI
换句话说,POST用于创建。
如果您认为您的数据敏感或不敏感,则无关紧要。通过实施一种方法来更改服务器上的数据,您会自动提供一种可被任何人滥用的方式。因此,所有这些接口都必须在安全性方面进行相同的彻底处理。
你的问题没有提供任何关于你想要传输的数据。您是要将其永久存储在数据库中,还是仅在用户访问期间与用户相关的数据?
基本上你是提供了三种方式:
1.持久性存储。
您将数据存储在数据库中。 在这种情况下,您应该使用上述“后”方法的形式。
#your_template.html
<form method="post" action="<your action">
<!-- do something -->
{{ form }}
</form>
#your_view.py
def your_view(request):
if request.method == 'POST':
form = YourForm(request.POST)
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
return HttpResponseRedirect('/thanks/') # Redirect after POST
else:
form = YourForm() # An unbound form
return render(request, 'your_template.html', {
'form': form,
})
约django的更多信息,参见https://docs.djangoproject.com/en/dev/topics/forms/形成
2.临时存储。
您不需要持久存储任何这些结果,因此您可以使用django的会话机制,这将允许您在特定用户访问您的页面时传递恰好有效的数据。您可以调整生活会话的时间对象
更多信息请参见https://docs.djangoproject.com/en/dev/topics/http/sessions/关于Django的会话基于
3.客户端存储。 一路走到客户端,使用将存储在客户端机器上的cookies,并且只能由服务器读取。但是在评估cookie值时你必须更加彻底。
见Django Cookies, how can I set them?一小饼干帮手Django和从那里
怎么样JSON编码'HTTP请求POST'? – Latheesan
我可以做POST也是它的Like GET,但更安全。对 ?我在想像套接字编程。 – Stark
我之前完成过套接字客户端/服务器,这对于这件事来说是一种矫枉过正,可能很难。如果信息不敏感,我会坚持使用JSON编码的HTTP帖子。如果你使用'GET',你将受到服务器强加的最大查询字符串大小限制的限制,其中POST有更大的限制。 – Latheesan