Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
C# MVC POST和WebApi POST的区别_C#_Jquery_Ajax_Asp.net Mvc - Fatal编程技术网

C# MVC POST和WebApi POST的区别

C# MVC POST和WebApi POST的区别,c#,jquery,ajax,asp.net-mvc,C#,Jquery,Ajax,Asp.net Mvc,使用MVC v/s$.ajax、$完成POST有什么区别。ajax或$http使用XMLHTTPRequest向服务器发送请求。但是ASP.NETMVC使用什么机制呢 具体来说,两者的区别是什么 @using( Html.BeginForm("LoginMethod", "Login", FormMethod.Post) { // form here } 及 我所在组织的一位高级成员说,我们不应该在银行应用程序中使用$.ajax。那么MVC POST是否更安全 因此,提出以下问题 MVC PO

使用MVC v/s$.ajax、
$完成POST有什么区别。ajax
$http
使用
XMLHTTPRequest
向服务器发送请求。但是ASP.NETMVC使用什么机制呢

具体来说,两者的区别是什么

@using( Html.BeginForm("LoginMethod", "Login", FormMethod.Post) {
// form here
}

我所在组织的一位高级成员说,我们不应该在银行应用程序中使用
$.ajax
。那么MVC POST是否更安全

因此,提出以下问题

  • MVC POST与$s.ajax POST的区别是什么
  • 为什么/如何/真的MVC POST更安全
  • 为什么我不能在DevTools的“网络”选项卡中查看MVC帖子的详细信息

  • 哇。无意冒犯,但你需要后退一大步,熟悉你试图开发的平台:互联网。阅读TCP/IP和HTTP协议等内容。同时也要注意休息。它实际上是一种并行的理念,可以应用于不仅仅是HTTP上的交互,但它在很大程度上规范了HTTP的工作方式和web应用程序的设计方式

    也就是说,我将尝试回答您提出的三个问题:

  • MVC POST与$s.ajax POST的区别是什么
  • 我必须解构它,因为你对术语的理解是混乱的。首先,一个帖子就是一个帖子就是一个帖子。没有不同的种类。POST是一个HTTP动词,与GET类似。它携带一个负载,称为请求主体,而GET没有主体。标准HTML表单POST和AJAX POST(
    $.AJAX
    是一个jQuery函数,与这里的任何内容都无关)之间的区别都在客户端或web浏览器中。对于传统的post,整个选项卡或窗口上下文将更改为新页面,而AJAX请求可以被认为是由所谓的瘦客户机发出的。它是一个JavaScript对象,
    XMLHttpRequest
    ,在浏览器中充当某种迷你浏览器。它像浏览器一样发出请求并接收响应,但级别较低。它不会自动呈现HTML、加载相关资源等。它只是返回响应,然后由您和您的应用程序来处理该响应

  • 为什么/如何/真的MVC POST更安全
  • 不知道那是从哪里来的,但不是。就像我上面说的,一个帖子就是一个帖子就是一个帖子。就其本身而言,没有一个职位是“安全的”。在HTTP协议中,所有数据都以纯文本形式通过网络传输,并且可以被源和目标之间的任何中间服务器或代理看到。HTTPS或HTTP安全是如何将安全层添加到HTTP的。HTTPS连接需要SSL(安全套接字层)证书。所有这些实际上都是一个公钥,由CA(证书颁发机构)认证为属于特定域和组织。当建立HTTPS连接时,客户端和服务器启动握手,在握手中它们基本上交换公钥。客户端使用服务器的公钥加密请求头和请求体,然后发送请求。公钥只能用于加密。要解密,您需要一个只有服务器拥有的私钥。服务器解密请求,创建响应,用客户机的公钥加密,然后将其发送给客户机。同样,客户端使用其私钥解密响应,然后呈现网页或其他内容

  • 为什么我不能在DevTools的“网络”选项卡中查看MVC帖子的详细信息

  • 同样,我把“MVC帖子”理解为传统的HTML表单帖子。MVC真的与此无关。您无法在浏览器开发控制台的“网络”选项卡中查看详细信息,因为开发控制台是特定于页面的,正如我前面所述,传统的HTML表单POST会导致浏览器选项卡或窗口的视图完全更改。“网络”选项卡记录页面生成的web流量:加载JS、CSS、图像等并发出AJAX请求。

    这是关于所有AJAX帖子还是特定web api帖子的问题?

  • ajax的基本功能是创建一个WebRequest,就像 一个正常的同步的,但响应不直接得到 它显示在浏览器中,允许您根据需要处理响应 你想要它。因此,结果是用户可以停留在页面中 在后台,您可以执行一些服务器活动,而无需更改 整页
  • 这是有争议的。如果你能正确加密你的数据(考虑到你所说的银行网站需要更高的安全性),并且你的客户对此感到满意,我不认为这是一个问题……而对于MVC post,你可以使用许多框架选项和第三方工具来确保数据安全
  • 最后

  • 为什么你看不到那里的细节?你得到了什么

  • 区别与GETs相同。在没有ajax的情况下,你点击一个链接(或一个按钮,无论什么),然后被重定向到另一个页面,使用ajax,你在后台向服务器发出请求,然后对结果做一些处理,帖子也是这样。顺便问一句,你为什么不直接问那个高级成员他是什么意思?对于3个问题,试着下载fiddler,你会看到所有的细节,包括在姿势上,为这样一个伟大的解释和花费的时间
            $.ajax({
                url: '....',
                type: 'post',
            });