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

网络请求模式

作者: 宝宝丶菲 | 来源:发表于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(传输层安全)协议把通信内容加密后经网络隧道传输。

相关文章

  • 网络请求模式

    链接:HTML HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。 HTTP1.1新增了五...

  • 3、volley 官方教程-建立一个请求队列

    文章摘要1、volley 网络请求队列和缓冲请求队列2、volley 单例模式 英文文献 一、设定网络请求队列和缓...

  • OkHttp使用介绍

    准备 在gradle中添加 在manifest中添加访问网络权限 Okhttp网络请求分两种模式 1. 同步请求 ...

  • 使用AFNetworking库后设置HTTP代理出错

    使用AFNetworking库用于http请求手机网络设置中设置http代理模式请求报错Error Domain=...

  • Mvp模式如何管理生命周期

    Mvp模式在封装的时候会造成内存泄漏,因为presenter层,需要做网络请求,所以就需要考虑到网络请求的取消操作...

  • OS封装原生网络请求

    之前写项目时一直用第三方AFNet进行网络请求,对于原生的网络请求模式很久没有涉猎。所以趁着最近有空对原生的网络请...

  • 网摘

    单例模式封装 RxJava+Retrofit 网络请求 https://blog.csdn.net/louyuli...

  • Android retrofit源码浅析

    Android最流行的网络请求库,下面翻翻源码 创建Retrofit实例,builder模式。 Retrofit....

  • 策略模式-andorid网络请求隔离

    什么是策略模式 策略模式介绍 下面就是我在项目中使用网络请求,后期这块需要下沉到native,也有可能需要tcp ...

  • Retrofit 2.0 配置篇

    获取实例 获取 OkHttpClient.Builder 对象: Log信息拦截器 Debug模式查看网络请求、打...

网友评论

    本文标题:网络请求模式

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