HTTP数据的八种请求方式
- GET方法
用于使用给定的URI从给定服务器中检索信息,即从指定资源中请求数据。使用GET方法的请求应该只是检索数据,并且不应对数据产生其他影响。在GET请求的URL中发送查询字符串(名称/值对),需要这样写:http://www.127.0.0.1?name1=value1&name2=value2
说明:GET请求是可以缓存的,我们可以从浏览器历史记录中查找到GET请求,还可以把它收藏到书签中;且GET请求有长度限制,仅用于请求数据(不修改)。
注:因GET请求的不安全性,在处理敏感数据时,绝不可以使用GET请求。
-
HEAD方法
与GET方法相同,但没有响应体,仅传输状态行和标题部分。这对于恢复相应头部编写的元数据非常有用,而无需传输整个内容。 -
POST方法
用于将数据发送到服务器以创建或更新资源,它要求服务器确认请求中包含的内容作为由URI区分的Web资源的另一个下属。POST请求永远不会被缓存,且对数据长度没有限制;我们无法从浏览器历史记录中查找到POST请求。 -
PUT方法
用于将数据发送到服务器以创建或更新资源,它可以用上传的内容替换目标资源中的所有当前内容。它会将包含的元素放在所提供的URI下,如果URI指示的是当前资源,则会被改变。如果URI未指示当前资源,则服务器可以使用该URI创建资源。 -
DELETE方法
用来删除指定的资源,它会删除URI给出的目标资源的所有当前内容。 -
CONNECT方法
用来建立到给定URI标识的服务器的隧道;它通过简单的TCP/IP隧道更改请求连接,通常实使用解码的HTTP代理来进行SSL编码的通信(HTTPS)。 -
OPTIONS方法
用来描述了目标资源的通信选项,会返回服务器支持预定义URL的HTTP策略。 -
TRACE方法
用于沿着目标资源的路径执行消息环回测试;它回应收到的请求,以便客户可以看到中间服务器进行了哪些(假设任何)进度或增量。
GET和POST的区别
在HTTP的八种数据请求中,我们最常用的就是GET和POST请求方式,我们可以比较下GET和POST请求方式的不同。
- GET请求方式
参数是拼接在url地址后面的,而且参数有长度的限制,参数会显示出来,十分的不安全。 - POST请求方式
参数是放在请求体当中的,参数没有长度的限制,参数放在请求体当中相当而言比较的安全。POST请求方式比GET请求方式多了两个请求体 content-type以及content-length。
content-type 内容类型
需要设置内容的信息,因为数据类型具有多样性,有可能是文件或者图片,所以需要告诉服务器是什么类型的数据,这样后台才能识别这个类型的数据。
content-length 内容长度
客户端向服务器传递数据的时候,是一个字节一个字节(16字的字节)传递的,如果不设置长度,服务器就不知道你传完了没有,会一直的等待,所以才需要告诉服务器什么时候结束。