`
smartzxy
  • 浏览: 196025 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

HTML5的表单到底还是不支持PUT、DELETE?

阅读更多

      REST架构的核心属性之一便是统一接口,可现在的HTML表单只支持GET和POST方法,一下子就“禁掉”(但是还是可以通过JavaScript脚本实现其它接口)了REST要求的一半接口。《RESTful Web Services》中很多例子都给form的method赋上了PUT、DELETE值,说是HTML5中会支持。于是我就好奇地搜了下HTML5在这方面的内容。

 

      在w3.org上的HTML5仓库里看到了一篇《HTML5 differences from HTML4》,是今年三月10号发布的草案。简单的用Ctrl-F搜了下“ form ”关键字,好像并没有提到改进了method方法,form的属性改动不少,但就是没有method啊……于是就疑惑了,难道用PUT和DELETE还得写JS?

 

文章发布得冲动了……刚才翻看了最新的HTML5草案,看到了这段话:

The method and formmethod content attributes are enumerated attributes with the following keywords and states:

  • The keyword GET, mapping to the state GET, indicating the HTTP GET method.
  • The keyword POST, mapping to the state POST, indicating the HTTP POST method.
  • The keyword PUT, mapping to the state PUT, indicating the HTTP PUT method.
  • The keyword DELETE, mapping to the state DELETE, indicating the HTTP DELETE method.

The missing value default for these attributes is the GET state.

The method of an element is one of those four states. If the element is a submit button and has a formmethod attribute, then the element's methodis that attribute's state; otherwise, it is the form owner's method attribute's state.

为什么那篇differences就不提呢……

分享到:
评论
3 楼 lephix 2010-06-12  
grasszring 写道
  刚开始对rest不了解的时候,感觉有点兴奋,于是去研究了下它,我觉得使用rest太受限制了(struts2)。
比方如:我想要做一个下载,都不知道怎么去做了。就那么几个方法,每个方法对应的都有链接。


你说的是某些连接的4个方法都被占用了
但是既然是用RESTful的形式安排资源,那么附件如果有单独请求下载的需要,那么请给附件也抽象为一类资源,专门用于下载。
比如某篇文章的URL是HTTP://XXX.COM/ESSAY/1 方法为GET
这篇文章的其中某个附件下载地址应该为HTTP://XXX.COM/ATTACHMENT/1/XXX.ZIP 方法为GET

2 楼 grasszring 2010-06-11  
  刚开始对rest不了解的时候,感觉有点兴奋,于是去研究了下它,我觉得使用rest太受限制了(struts2)。
比方如:我想要做一个下载,都不知道怎么去做了。就那么几个方法,每个方法对应的都有链接。
1 楼 七月十五 2010-06-10  
如果不能原生全面支持PUT/GET/POST/DELETE,对于REST来说果然有点小杯具

相关推荐

    java-http-requests:Java HTTP请求util

    它基本上是一个jar文件,可以导入到Java项目中,该文件提供了能够发送[GET,POST,PUT,DELETE]请求的功能。 用法 要使用jar文件,仅需要将其作为引用库导入到项目中。 它提供的功能是: sendRequest(String url...

    Unirest轻量级的HTTP开发库 v3.14.2

    3.支持表单提交,文件上传,自定义实体。 4.支持路径参数 5.支持gzip 6.支持本地的 Basic Authentication 7.自定义超时,并发级别和代理设置。 8.为每个请求自定义默认请求头。 9.自定义HttpClient和...

    Android代码-OkHttp3

    支持Post/Get/Put/Delete请求 支持Cookie持久化,支持Gzip压缩 支持协议头参数Head设置 支持二进制参数、JSON、表单提交、SOAP提交 支持Gson解析、Unicode自动转码、请求参数编码以及服务器响应编码设置 支持四种...

    Android代码-XHttp2 一个功能强悍的网络请求库

    支持多种方式访问网络GET、POST、PUT、DELETE等请求协议。 支持网络缓存,六种缓存策略可选,涵盖大多数业务场景。 支持固定添加header和动态添加header。 支持添加全局参数和动态添加局部参数。 支持文件下载、多文件...

    Java原生的Http网络框架,底层基于HttpNet.rar

    一般的 get,post,put,delete,head,options请求 基于Post的大文本数据上传,postString(),postJson()等 多文件和多参数统一的表单上传(允许监听上传进度) 支持一个key上传一个文件,也可以一个Key上传多个文件 ...

    laravel框架中表单请求类型和CSRF防护实例分析

    本文实例讲述了laravel框架中表单请求类型和CSRF防护。分享给大家供大家参考,具体如下: laravel中为我们提供了绑定不同http请求类型的函数。 Route::get('/test', function () {}); Route::post('/test', ...

    Android代码-Rx-Mvp

    基本的get、post、put、delete、4种请求 单/多文件上传 断点续传下载 基本回调包含 onSuccess、onError、onCancel、onProgress(上传/下载) 支持自定义Callback 支持https 支持tag取消,也可取消全部 支持链式...

    命令行工具curl的常用命令汇总.doc

    Curl支持各种请求方法,包括GET、POST、PUT、DELETE等。它还支持设置请求头、发送表单数据、上传文件、自动跟随重定向、跳过SSL证书验证等功能。Curl的语法简单易懂,可以快速学习和上手。由于Curl是开源的,因此...

    apache-jmeter-5.zip

    jmeter5.0 核心改进 在许多领域,休息支持得到了改善 多部分/表单数据请求现在适用于PUT,DELETE ...... 现在也可以发送带附加文件的JSON Body 在“参数”选项卡中输入的参数现在在正文中使用,而不是被忽略

    EasyGo:基于Kotlin、OkHttp的声明式网络框架,像写HTML界面一样写网络调用代码

    2、支持restful风格api接口请求,支持get、post、put、delete、head、patch、head请求方式; 3、请求数据格式支持Form表单格式、MultiPart多请求体格式、Json请求体格式; 4、支持文件断点下载、下载进度监听、文件...

    2021全新SpringMVC教程

    1.1_SpringMVC_课程介绍.mp4 1.2_SpringMVC_导学.mp4 ...20_SpringMVC_测试form表单是否能够发送put和delete请求方式的请求.mp4 22_SpringMVC_@RequestMapping注解的headers属性.mp4 23_SpringMVC_Spri

    valleForm:用于将 valle screen-api 数据结构转换为基于 Web 组件的表单的 React 组件

    为Rest集成安装动态操作( Post | Put | Delete )。 动态CREATE Registration模式。 动态可视化的View模式。 动态UPDATE和DELETE Edit模式。 所有字段的Read only自动。 a11y表单(通过 valle

    java图书进销存系统源码-OkHttp3:基于OkHttp3封装的网络请求库——致力于最简洁、功能最全、可灵活扩展的网络操作API

    支持Post/Get/Put/Delete请求 支持Cookie持久化,支持Gzip压缩 支持协议头参数Head设置 支持二进制参数、JSON、表单提交、SOAP提交 支持Gson解析、Unicode自动转码、请求参数编码以及服务器响应编码设置 支持四种...

    docker超详细基础教程

    -X <METHOD>:指定 HTTP 请求方法,支持 GET、POST、PUT、DELETE 等; -H <HEADER>:设置 HTTP 请求头,可以设置多个; -d <DATA>:带上 POST 请求的数据,常用于提交表单等数据; -o <FILE>:将响应内容保存到指定...

    pokedex-express-finale:具有用户帐户的Pokedex全栈CRUD应用程序

    HTML不支持PUT和DELETE请求的局限性 如何使用cookie-parser向浏览器添加和删除cookie 如何使用Postgres数据库( pg包)替换jsonfile进行数据读/写 如何使用SHA256组合进行用户身份验证以对纯文本密码进行哈希处理...

    node-xss:一种用于扫描网页以进行可能的 XSS 攻击的工具

    POST/PUT/DELETE/等中的正文参数)。 查询字符串的搜索表单“操作”。 操作可能包含查询字符串,例如/signup?page=home即使它不是 GET 请求。 抓取没有表单的输入。 这些可能会使用 XHR(XMLHttpRequests;又名:...

    Requests:非常好用且可以友好托管HTTP请求的php类库

    Requests提供了一致的API,并且使用cURL或fsockopen(具体取决于可用性),它还简化了发送请求,接受HEAD、GET、POST、PUT、DELETE或PATCH并且添加标头、表单数据和多个部分组成的文件。其次,该库还适用于国际域名...

    Requests:非常好用且可以友好托管HTTP请求的php类库.zip

    Requests提供了一致的API,并且使用cURL或fsockopen(具体取决于可用性),它还简化了发送请求,接受HEAD、GET、POST、PUT、DELETE或PATCH并且添加标头、表单数据和多个部分组成的文件。其次,该库还适用于国际域名...

    使用HttpClient发送POST请求,并获取响应内容(附详细步骤).txt

    这个代码的作用是使用HttpClient发送POST请求,...通过学习这个示例,你可以了解到如何使用HttpClient发送不同类型的HTTP请求(如GET、POST、PUT、DELETE等),以及如何处理响应结果(如读取响应体、解析JSON数据等)。

    REST Ape - Advanced API Testing Client-crx插件

    一个简单但功能强大且功能齐全的REST API测试客户端,受支持的功能HTTP方法-GET,POST,PUT,PATCH,DELETE,TRACE,HEAD,OPTION请求主体类型--表单URL编码-多部分/表单数据-原始/ text-二进制-json-xml身份验证...

Global site tag (gtag.js) - Google Analytics