Curl运维命令 - 日常用法总结

网友投稿 1056 2022-10-14

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Curl运维命令 - 日常用法总结

一、Curl命令用法

1.  curl语法和参数选项# curl [option] [url]

curl常见参数

2.  curl使用说明curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。它支持多种协议,下面说下curl命令的日常使用示例:

3.  curl上传文件的用法(POST请求方式)一般来说,我们都会用curl下载网页,但是curl上传文件则不常用。下面说下curl模拟"multipart/form-data"形式的form上传文件, 命令稍稍复杂些。

4.  curl常用示例

5. curl命令的超时时间

二、Curl的GET、POST、PUT、DELETE请求

1.  GET、POST、PUT、DELETE含义与区别

############ 简单的来理解 ############GET /uri/xxx 查看(相当于数据库中的select操作),即通过请求URL获得资源。PUT /uri/xxx 更新/创建(相当于数据库中的update操作),即通过请求URL修改某个内容。POST /uri 创建 (相当于数据库中的insert操作),即通过请求URL添加新的资源,用于表单提交。DELETE /uri/xxx 删除 (相当于数据库中的delete操作),即通过请求URL删除某个内容。 ############ 含义 ############1)GET请求:得到或查看数据GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容。也就是说GET请求不会产生副作用。无论进行多少次操作,结果都是一样的。 2)PUT请求:在已经存在的数据上更新数据与GET请求不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等。也就是说无论进行多少次PUT操作,其结果并没有不同。 3)POST请求:创建数据POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是默认用POST请求的。 4)DELETE请求:删除数据DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作。 ############ 安全性方面 ############1)GET请求的操作是安全的。所谓安全是指不管进行多少次操作,资源的状态都不会改变。比如用GET请求方式浏览文章,不管浏览多少次,那篇文章还在那,没有变化。当然有人可能会说每浏览一次文章,文章的浏览数就增加一次,这不也改变了资源的状态么。其实这并不矛盾,因为这个改变不是GET操作引起的,而是用户自己设定的服务端逻辑造成的。 2)PUT,DELETE请求的操作是幂等的。 所谓幂等:是指无论进行多少次重复操作,都是实现相同的结果。也就是说若输入相同的参数执行任意次结果相同,则为等幂操作!!!!比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同,DELETE也是一样。顺便说一句,因为GET操作是安全的,所以它自然也是幂等的。 3)POST操作既不是安全的,也不是幂等的比如常见的POST重复加载问题:当多次发出同样的POST请求后,其结果是创建出了若干的资源。 4)安全和幂等的意义在于:当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。从这个意义上说,POST操作往往是有害的,但很多时候我们还是不得不使用它。 5)需要注意事项创建操作可以使用POST请求,也可以使用PUT请求!区别在于:POST 是作用在一个集合资源之上的(/uri),而PUT操作是作用在一个具体资源之上的(/uri/xxx)。再通俗点说,如果URL可以在客户端确定,那么就使用PUT请求,如果是在服务端确定,那么就使用POST请求。比如说很多资源使用数据库自增主键作为标识信息,而创建的资源的标识信息到底是什么只能由服务端提供,这个时候就必须使用POST请求方法了。所以,简单总结下:GET,POST,PUT都是幂等性操作,而POST不是幂等性操作;GET:不管对资源查询多少次,此实现都是一样的PUT:将A第一次修改成B,再进行多次操作,最终结果还是还算B,与第一次写的结果是一样的,所有PUT是DELETE:第一次把资源删除以后,后面进行多少次操作都算资源被删除POST: 不是,因为一次请求添加一份新的资源,二次请求是乎产生不同的结 ############ 区别 ############1)GET请求 和 POST请求从字面意思就可以看出两者区别,一个是GET(获取),一个是POST(发送)。 GET方法的请求用来告诉服务器需要获取哪些内容(uri+query),向静态页面(uri)请求则直接返回文件内容给浏览器,向一个动态页面请求时可以提供查询参数(query)以获得相应内容。 POST方法的请求用来向服务器提交内容,主要是为了提交,而不是为了请求内容,就是说POST的初衷并不要求服务器返回内容,只是提交内容让服务器处理(主要是存储或者处理之后再存储)。 2)PUT请求 和 POST请求PUT请求主要作用在一个具体资源之上的(即uri/xxx),POST请求主要作用在一个集合资源之上的(即uri)就是说,如果URL可以在客户端确定就使用PUT请求,如果URL在服务端确定就使用POST请求。 PUT请求和POST请求容器混淆的就是它们都可以修改数据。它们的区别在于是否等幂:PUT请求是等幂操作,而POST请求是不等幂操作。所以POST方式每执行一次会增加一条数据,而PUT请求是在已经存在的数据上进行修改。也就是说POST方式一般用于增加数据,POST方式用于修改已有数据。

2.  GET、POST、PUT、DELETE四种请求方式的curl访问

上一篇:16个核心概念带你入门 Kubernetes
下一篇:kubernetes集群计算节点的升级和扩容
相关文章

 发表评论

暂时没有评论,来抢沙发吧~