美文网首页我爱编程
网络请求模式

网络请求模式

作者: 宝宝丶菲 | 来源:发表于2018-04-16 14:56 被阅读0次

    链接:HTML

    HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。

    HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

    GET:请求指定的页面信息,并返回实体主体。

    主要用于向指定的URL请求资源(资源文件或是数据均可), 可以带参数也可以不带参数, 带参数时,参数是明文传递,get安全性不高,所以常用于安全性要求低的场合, 比如登录后请求数据。从服务器获取数据,效率比POST高.GET发送请求时,URL中除了资源路径以外,所有的参数(查询字符串)也包装在URL中,并且服务器的访问日志会记录,不要传递敏感信息.

    注意 :URL 字符串中如果包含空格或者中文,需要添加百分号转义.

    POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。

    主要是向指定的URL提交数据, 通常用于表单发送,post所传递的数据或参数不是以明文形式存在的,而是封装后的,因此相对安全系数高,像注册、登录、提交表单都是用该方法实现的。

    通过GET发送大量数据是不现实的,它有一定的局限性,很多情况下使用POST发送数据给服务器更加合适。

    POST请求不能被缓存。

    POST发送请求时,URL中只有资源路径,但不包含参数,服务器日志不会记录参数,相对更安全.

    参数被包装成二进制的数据体,格式与 GET 基本一致,只是不包含 ?.

    注意 :所有涉及到用户隐私的数据(密码,银行卡号)一定记住使用POST方式传递.

    HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头

    HEAD方法与GET类似,但是HEAD并不返回消息体。在一个HEAD请求的消息响应中,HTTP投中包含的元信息应该和一个GET请求的响应消息相同。这种方法可以用来获取请求中隐含的元信息,而无需传输实体本身。这个方法经常用来测试超链接的有效性,可用性和最近修改。

    适用在以下情况

    1、判断类型;

     2、查看响应中的状态码,看对象是否存在(响应:请求执行成功了,但无数据返回); 

    3、测试资源是否被修改过    

     HEAD方法和GET方法的区别: GET方法有实体,HEAD方法无实体。

    OPTIONS:允许客户端查看服务器的性能。

    通过这个方法,客户端可以在采取具体资源请求之前,决定对该资源采取何种必要措施,或者了解服务器的性能。

    该请求方法的响应不能缓存。

    OPTIONS请求方法的主要用途有两个:

    1、获取服务器支持的HTTP请求方法;也是黑客经常使用的方法。

    2、用来检查服务器的性能。例如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。

    PUT:从客户端向服务器传送的数据取代指定的文档的内容。 

    通常用于向服务器发送请求,如果URL不存在,则要求服务器根据请求创建资源,如果存在,服务器就接受请求内容,并修改URI资源的原始版本。

    PUT 用于更新某个资源较完整的内容,比如说用户要重填完整表单更新所有信息,后台处理更新时可能只是保留内部记录 ID 不变。

    PUT方法请求服务器去把请求里的实体存储在请求URI(Request-URI)标识下。

    DELETE:请求服务器删除指定的资源。

    DELETE请求顾名思义,就是用来删除指定的URL上的资源。指明客户端想让服务器删除某个资源,与PUT方法相反,按URL删除指定资源

    TRACE: 回显服务器收到的请求,主要用于测试或诊断。

    用于远程诊断服务器

    用于调用已请求消息的远程、应用层回送(loopback)。请求的接收方是源服务器或第一个代理或接收请求中零(0)Max-Forwards 值的网关。

    CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

    CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL(安全套接层)和TLS(传输层安全)协议把通信内容加密后经网络隧道传输。

    相关文章

      网友评论

        本文标题:网络请求模式

        本文链接:https://www.haomeiwen.com/subject/fenaixtx.html