GVKun编程网logo

大多数 Web 浏览器中是否提供 PUT、DELETE、HEAD 等方法?(大多数web网页使用的格式是什么)

3

对于想了解大多数Web浏览器中是否提供PUT、DELETE、HEAD等方法?的读者,本文将是一篇不可错过的文章,我们将详细介绍大多数web网页使用的格式是什么,并且为您提供关于403Forbidden

对于想了解大多数 Web 浏览器中是否提供 PUT、DELETE、HEAD 等方法?的读者,本文将是一篇不可错过的文章,我们将详细介绍大多数web网页使用的格式是什么,并且为您提供关于403 Forbidden Error for .Net Core 3.1 Web Api 仅适用于 Delete & PUT 方法、都可以放什么,什么作用?、ASP.NET 核心 Web API 模板的 PUT、DELETE 不起作用错误 404、c# – 为什么ReadOnlyCollection <>包含FindAll(),FindFirst()等方法,的有价值信息。

本文目录一览:

大多数 Web 浏览器中是否提供 PUT、DELETE、HEAD 等方法?(大多数web网页使用的格式是什么)

大多数 Web 浏览器中是否提供 PUT、DELETE、HEAD 等方法?(大多数web网页使用的格式是什么)

我在这里看到了几个问题,其中提到:

不幸的是,同一个浏览器不允许我测试 HTTP PUT、DELETE,在某种程度上甚至是 HTTP POST。

我还听说浏览器仅支持 GET 和 POST,来自其他一些来源,例如:

  • http://www.packetizer.com/ws/rest.html
  • http://www.mail-archive.com/jmeter-user@jakarta.apache.org/msg13518.html
  • http://www.xml.com/cs/user/view/cs_msg/1098

但是,Firefox
中的一些快速测试表明发送PUTDELETE请求按预期工作——XMLHttpRequest成功完成,并且请求以正确的方法显示在服务器日志中。我是否缺少某些方面,例如跨浏览器兼容性或不明显的限制?

答案1

小编典典

不,HTML 5 规范提到:

method 和 formmethod 内容属性是具有以下关键字和状态的枚举属性:

关键字 get ,映射到状态 GET,表示 HTTP GET 方法。GET 方法应该只请求和检索数据,应该没有其他效果。

关键字 post ,映射到状态 POST,表示 HTTP POST 方法。POST
方法请求服务器接受要处理的提交表单的数据,这可能导致将项目添加到数据库、创建新的网页资源、更新现有页面或所有提到的结果.

关键字 dialog ,映射到状态对话框,表示提交表单的目的是关闭表单所在的对话框(如果有),否则不提交。

这些属性的无效值默认值是 GET 状态

即 HTML 表单仅支持 GETPOST 作为 HTTP 请求方法。一种解决方法是使用隐藏的表单字段通过 POST 通过 POST
隧道传输其他方法,该字段由服务器读取并相应地分派请求。

然而,所有主要网络浏览器(IE、Firefox、Safari、Chrome、Opera)中的 XMLHttpRequest(即 AJAX 调用)的实现
支持 GETPOSTPUTDELETE 。 __

403 Forbidden Error for .Net Core 3.1 Web Api 仅适用于 Delete & PUT 方法

403 Forbidden Error for .Net Core 3.1 Web Api 仅适用于 Delete & PUT 方法

如何解决403 Forbidden Error for .Net Core 3.1 Web Api 仅适用于 Delete & PUT 方法

在 .Net Core 3.1 和 angular 中的应用,在本地完美运行。我托管了托管服务提供商之一的相同应用程序。

我收到错误“403 - 禁止:访问被拒绝”。用于 Web api 响应中的 PUT 和 DELETE 方法。我不知道为什么 GET 和 POST 方法在同一个应用程序中工作。

ASP.NET Core with IIS - HTTP Verb Not Allowed

上面的链接有一些相同的问题,但出现 405 错误。同一线程中给出的解决方案也尝试过,但对我不起作用。

请帮忙。

解决方法

您的前端是否有角度?如果是,您必须添加auth承载头以正确放置和删除。

,

我向我的托管服务提供商提出了一张票。他们进行了一些设置,然后就可以正常工作了。

,

此代码对我有用。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <modules runAllManagedModulesForAllRequests="false">
        <remove name="WebDAVModule" />
      </modules>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\\XXXXXXXXXXX.dll" stdoutLogEnabled="false" stdoutLogFile=".\\logs\\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>

<head></head>都可以放什么,什么作用?

都可以放什么,什么作用?

 HTML <head></head>头部元素包含关于文档的概要信息,也被称为元信息(meta-information)。 
<head></head>元素包含了所有的头部标签元素。在 <head>元素中你可以插入脚本(scripts), 样式文件(CSS),及各种 meta 信息。
可以添加在头部区域的元素标签为: <title>, <style>, <meta>, <link>, <script>, <noscript> 和 <base>。
<head></head>元素描述了文档的各种属性和信息,其中包括文档的标题、在 Web 中的位置以及和其他文档的关系等。 
一、 HTML <title> 元素
<title> 标签定义了不同文档的标题。
<title> 在 HTML/XHTML 文档中是必须的。
<title> 元素:
  定义了浏览器工具栏的标题
  当网页添加到收藏夹时,显示在收藏夹中的标题
  显示在搜索引擎结果页面的标题
二、HTML<base>元素
<base>元素描述了基本的链接地址、链接目标,该元素作为HTML文档中所有的链接标签的默认标签。
在HTML中<base>元素没有结束标签,在XHTML中<base>元素必须被正确的关闭。
实例1:
<html>
    <head>
        <base href="http://static.cnblogs.com/" />
    </head>
    <body>
        <img src = "./images/logo_gray.gif" />
</html>

这事我们用相对路径./images/logo_gray.gif加载的图片,却变成了:http://static.cnblogs.com/images/logo_gray.gif的图片路径,这就是base元素的作用,可以给页面的链接加上默认的路径或者打开方式,这个实例1表现的是:给页面的链接加上默认的路径。

实例2:

<html>
    <head>
        <base target = "_blank" />
    </head>
    <body>
        <a href = "http://www.baidu.com">这个页面会在新窗口上打开!</a>
         <a href = "http://www.baidu.com">同上,新窗口打开!</a>
</html>

这个实例2表现的是:给页面的链接设置默认的打开方式。

三、HTML<link>元素

<link>元素定义了文档与外部资源之间的关系,通常用于链接到样式表。

在HTML中<link>元素没有结束标签,在XHTML中<link>元素必须被正确的关闭。

<link>元素是空元素,它仅包含属性。

<link>元素只能存在于 head 部分,不过它可出现任何次数。

属性学习网址:http://www.w3school.com.cn/tags/tag_link.asp

四、HTML<style>元素

<style>元素定义了HTML文档的样式引用地址,在<style>元素中需要指定样式文件来渲染HTML文档。

在HTML和XHTML中没有差异

属性学习网址:http://www.w3school.com.cn/tags/tag_style.asp

五、HTML<meta>元素

<meta>元素通常用于指定网页的描述,关键字,文件的最后修改时间,作者等其他元数据。

<meta>元素提供了元数据,元数据不显示在页面上,但会被浏览器解析,元数据可以使用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键字)等。

<meta>元素永远放置于<head>区域。

在HTML中<meta>元素没有结束标签,在XHTML中<meta>元素必须被正确的关闭。

元数据总是以名称/值的形式被成对传递的。

学习网址:http://www.w3school.com.cn/tags/tag_meta.asp

六、HTML<script>元素

 <script> 标签用于定义客户端脚本,比如 JavaScript。

 script 元素既可以包含脚本语句,也可以通过 src 属性指向外部脚本文件。

 必需的 type 属性规定脚本的 MIME 类型。

学习网址:http://www.w3school.com.cn/tags/tag_script.asp

总结:

<head> 定义文档的信息 <title> 定义了文档的标题 <base> 定义了页面链接标签的默认链接地址 <link> 定义了一个文档和外部资源之间的关系 <meta> 定义了HTML文档的元数据 <script> 定义了客户端的脚本文件 <style> 定义了HTML文档的样式文件

 

 

ASP.NET 核心 Web API 模板的 PUT、DELETE 不起作用错误 404

ASP.NET 核心 Web API 模板的 PUT、DELETE 不起作用错误 404

如何解决ASP.NET 核心 Web API 模板的 PUT、DELETE 不起作用错误 404

我什至在 .config 文件中尝试了几次修改以启用这些动词,但没有任何效果。 GET 方法工作正常,但对于 PUT 和 DELETE 是 404。

我已经尝试删除 WebDav 模块和其他与 IIS 相关的修改。

这是我的控制器:

  1. [HttpPut("{id:length(24)}")]
  2. public IActionResult Update(string id,Client clientIn)
  3. {
  4. var client = _clientService.Get(id);
  5. if (client == null)
  6. {
  7. return NotFound();
  8. }
  9. _clientService.Update(id,clientIn);
  10. return NoContent();
  11. }
  12. [HttpDelete("{id:length(24)}")]
  13. [Route("api/Clients/{id}")]
  14. public IActionResult Delete(string id)
  15. {
  16. var client = _clientService.Get(id);
  17. if (client == null)
  18. {
  19. return NotFound();
  20. }
  21. _clientService.Remove(client.ClientId);
  22. return NoContent();
  23. }

解决方法

不知道你是怎么设置HttpGet的。在这段代码中,由于您限制了 id 的长度,因此 id 必须最多 24 个字符才能被映射。你可以这样改。

  1. [HttpPut("{id:maxlength(24)}")]
  2. public IActionResult Update(string id,Client clientIn)
  3. {
  4. //
  5. }

你可以参考这个route constraints。

c# – 为什么ReadOnlyCollection <>包含FindAll(),FindFirst()等方法,

c# – 为什么ReadOnlyCollection <>包含FindAll(),FindFirst()等方法,

根据Fxcop的建议和我个人的倾向,我一直鼓励我正在指导的团队尽可能多地使用ReadOnlyCollections.仅限于列表的收件人无法修改其内容.在他们的理论中,这是面包&牛油.问题是List<>界面更加丰富,暴露出各种有用的方法.他们为什么做出这个选择?

你只是放弃并返回可写的集合吗?您是否返回只读集合,然后将它们包装在可写的多样性中? AHHHHH.

更新:
谢谢我熟悉框架设计指南,这就是为什么团队使用Fxcop来强制执行它.然而,这个团队和VS 2005一起生活(我知道,我知道)并告诉他们LINQ / Extension方法可以解决他们的问题只会让他们感到难过.

他们已经了解到List.FindAll()和.FindFirst()比编写foreach循环更清晰.现在我正在推动他们使用ReadOnlyCollections,他们失去了清晰度.

也许有一个更深层次的设计问题,我没有发现.

– 抱歉,原帖应该提到了VS2005的限制.我和我共处了很长时间以至于我没有注意到.

解决方法

.NET Framework Design Guidelines Second Edition的第8.3.2节:

DO use ReadOnlyCollection<T>,a subclass of ReadOnlyCollection<T>,or in rare cases IEnumerable<T> for properties or return values representing read-only collections.

我们使用ReadOnlyCollections来表达我们返回的集合的意图.

列表< T>为方便起见,在.NET 2.0中添加了您所说的方法.在C#3.0 / .NET 3.5中,您可以在ReadOnlyCollection< T>上获得所有这些方法. (或任何IEnumerable< T>)使用扩展方法(并使用LINQ运算符),所以我认为没有任何动机将它们本地添加到其他类型.它们在List上存在的事实只是一个历史记录,因为现在可以使用扩展方法,但不是2.0.

关于大多数 Web 浏览器中是否提供 PUT、DELETE、HEAD 等方法?大多数web网页使用的格式是什么的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于403 Forbidden Error for .Net Core 3.1 Web Api 仅适用于 Delete & PUT 方法、都可以放什么,什么作用?、ASP.NET 核心 Web API 模板的 PUT、DELETE 不起作用错误 404、c# – 为什么ReadOnlyCollection <>包含FindAll(),FindFirst()等方法,等相关内容,可以在本站寻找。

本文标签: