我正在编写RESTful API,其中包含PUT
资源,可能包含大型文件,例如:/file?jobid=1
。某些标头元数据将与PUT
请求一起发送,如:
Content-Type: text/csv
Content-Encoding: gzip
Content-MD5: GJ0EGJ408J984558GJOTGKR
Transport-Encoding: chunked
Content-Length: 12345
Expect: 100-continue
Body:
<FileData>
由于我的文件很大,我提供的是standard Expect
header functionality,因此客户可以要求服务器在发送正文之前确保接受请求。
出于跟踪目的,我想在元数据记录中记录其中的一些内容(如内容类型,大小和MD5),并将它们与传递给请求的job
相关联。我可以在相关的/files/
集合中执行此操作,其中客户端需要先执行此操作,然后在file
期间提供PUT
对象的ID。
Expect request-header字段用于指示客户端需要特定的服务器行为。
我的问题是:
允许服务器在将100
或417
响应发送回客户端之前创建/更新存储的元数据记录是否合适/可以?