大家好,又见面了,我是你们的朋友全栈君。...首先需要json以及httpclient的maven依赖: com.alibaba...setExpectContinueEnabled(true) .setConnectionRequestTimeout(10000) //重点参数,在请求之前校验链接是否有效...url * @param params * @return * @throws IOException */ public static String put...params.toJSONString(), "UTF-8"); httpPut.setEntity(stringEntity); } // 从响应模型中获得具体的实体
什么是跨域 当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域 当前页面url 被请求页面url 是否跨域 原因 http://www.test.com/ http://www.test.com...:仅限于同一域名下的子域 websocket:需要后台配合修改协议,不兼容,需要使用 http://socket.io proxy:使用代理去避开跨域请求,需要修改 nginx、apache 等的配置...同源策略指的是:协议 + 域名 + 端口三者皆相同,可以视为在同一个域,否则为不同域。同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。...跨域资源共享 CORS 跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的 Web 应用被准许访问来自不同源服务器上的指定的资源...特点: 建立在 TCP 协议之上,服务器端的实现比较容易。 与 HTTP 协议有着良好的兼容性。
出现跨域的根本原因: 浏览器的同源策略不允许非同源的 URL 之间进行资源的交互。 浏览器对跨域请求的拦截过程 浏览器允许发起跨域请求。但跨域请求回来的数据,会被浏览器拦截,无法被页面获取到。...JSONP JSONP 出现较早 来自民间(非官方) 优点: 兼容性好(兼容低版本 IE) 缺点: 仅支持 GET 请求 不是真正的Ajax技术,因为没有用到XMLHttpRequest对象 底层实现原理...-- 函数虽然可以先调用后声明,但是是在同一个script标签中的 --> <!...CORS ⭐ CORS 出现较晚 来自W3C 官方标准 优点: 是真正的Ajax请求 支持 GET、POST、PUT、DELETE、PATCH等常见 的请求方式 。...响应头,来告诉浏览器当前的 API 接口是否允许跨域请求。
代理: 代理收到100 Continue请求,在知道下一跳服务器与HTTP/1.1兼容或不知道它与哪个版本兼容,会将Expect首部放在请求中向下转发;但是知道下一跳服务器只能与 HTTP/1.1 之前的版本兼容...504 Gateway Timeout :与状态码 408 类似,只是这里的响应来自一个网关或代理,它们在等待另一服务器对其请求进行响应时超时了。...补充:HTTP的常见请求方法: GET、PUT、DELETE、POST、HEAD等,GET和HEAD方法是被认为安全的方法,因为出来进行获取资源信息外,不会有其他意义(作用)。...而POST、PUT、DELETE方法是非安全的。 GET:用于请求服务器发送(返回)某个(请求)资源。 ? HEAD:与GET类似,但是 仅请求响应首部。...PUT:与GET从服务器读取文档相反,PUT方法会向服务器写入(存储)文档。要求在请求报文的主体中包含文件内容,然后文档保存在请求的URL指定的位置(地址)。 ?
API 大仓设计与实现 API 兼容性 在存在移动端的情况下,或者是对外提供的 API,兼容性很重要的一点,毕竟客户端升级不可控。...向后兼容(非破坏性)的修改 新增 API 接口 新增请求字段 新增响应字段 在不改变其他响应字段的行为的前提下,非资源(例如,ListBooksResponse)的响应消息可以扩展而不必破坏客户端的兼容性...即使会引入冗余,先前在响应中填充的任何字段应继续使用相同的语义填充。如果是资源对象,就要注意是否被其他地方引用。...请求、响应消息定义专属message,不要使用Google的empty message 原本是向后兼容的修改也会导致不兼容。例如添加一个字段,就需要创建新的message,从而影响兼容性。...API 名名规范 命名规则:方法 + 资源,主要是参照Google的 API 设计指南 标准方法 HTTP 映射 List GET Get GET Update PUT 或者 PATCH Create
author=Fielding 3) 请求方法 REST约定用GET/POST/PUT/DELETE等请求方法来进行CURD操作。...但是否使用了GET/POST/PUT/DELETE,并不能作为评判一个系统是否符合REST架构风格的标准。...有些人认为GET/POST/PUT/DELETE跟CURD是一对一的关系,其实不是。 具体的说,各请求方法如下: GET:用于查询资源。 POST:用于创建资源。...HEAD方法与GET方法类似,都可以查询资源的元信息(放在HTTP Response的Header),但不会返回资源的表述。例如用于判断资源是否存在。 PATCH:用于修改资源。...与PUT方法不同的是,PATCH方法只传输改动的部分资源表述,而PUT方法需要传输完整的资源表述。 4) 返回码 REST使用HTTP返回码来表示请求的结果。
服务端根据该标识来判断是否需要信任授权,如果信任就在响应头部返回相同的标识。...浏览器判断响应头是否匹配,做相应结果处理 默认情况下 请求和响应都不带cookies 如果需要附带cookies信息 ajax的 withCredentials 设置为 true 服务端 响应头需要增加...因为简单请求必须是HEAD,GET,POST其一,所以我们这里直接使用PUT方法来测试就可以出现非简单请求的场景了。当然你也可以自定义HTTP头部来实现非简单请求。... die; } echo "来自index2.php的内容"; 同时我们可以看一下,是否每一个非简单请求都需要先发送预检请求。...php echo "test('这是返回内容')"; 这样子也可以正常的运行返回 优点 兼容性好,现在主流的跨域解决方案之一 缺点 只支持get 要确定 JSONP 请求是否失败并不容易。
方法 由于RESTful Web API采用了同一的接口,所以其成员体现为针对同一资源的操作。...对于GET,相应所有人对它已经非常熟悉了,它用于获取所需的资源,服务器一般讲对应的资源置于响应的主体部分返回给客户端。 HEAD和OPTIONS相对少见。...在网速不够快的情况下,客户端发送一个请求后不能立即得到响应,由于不能确定是否请求是否被成功提交,所以它有可能会再次发送另一个相同的请求,幂等性决定了第二个请求是否有效。...对于它来说,每次请求都是全新的,它只需要针对本次请求作相应的操作,不需要将本次请求的相关信息记录下来以便用于后续来自相同客户端请求的处理。...[2] 这里的“兼容”不是指支持由浏览器发送的请求,因为通过执行JavaScript脚本可以让作为宿主的浏览器发送任何我们希望的请求,这里的兼容体现在尽可能地支持浏览器访问我们在地址栏中输入的URI默认发送的
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。 PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。 DELETE(DELETE):从服务器删除资源。...其中 删除资源 必须 用 DELETE 方法 创建新的资源 必须 使用 POST 方法 更新资源 应该 使用 PUT 方法 获取资源信息 必须 使用 GET 方法 还有两个不常用的HTTP动词 HEAD...:获取资源的元数据 OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的 下面是一些例子: 请求方法 URL 描述 GET /zoos 列出所有的动物园(ID和名称,不要太详细) POST /...HTTP 状态码 状态码 描述 1xx 代表请求已被接受,需要继续处理 2xx 请求已成功,请求所希望的响应头或数据体将随此响应返回 3xx 重定向 4xx 客户端原因引起的错误 5xx 服务端原因引起的错误...只有来自客户端的请求被正确的处理后才能返回 2xx 的响应,所以当 API 返回 2xx 类型的状态码时,前端 必须 认定该请求已处理成功 必须强调的是,所有 API 一定不可 返回 1xx 类型的状态码
HTTP 是一种无状态协议,意味着每个请求与响应之间都是独立的,服务器不会保存任何关于之前请求的信息。它使用客户端-服务器模型,其中客户端发出请求,服务器提供响应。...HTTP 的基本操作包括: GET:从服务器获取资源。 POST:向服务器提交数据以进行处理。 PUT:将资源存储在服务器上。 DELETE:从服务器删除资源。...GET,并读取来自服务器的响应。...请求方法:请求方法指定了客户端希望服务器执行的操作。常见的 HTTP 方法包括 GET、POST、PUT 和 DELETE。...例如,GET 用于请求资源,POST 用于提交数据,PUT 用于存储资源,DELETE 用于删除资源。 请求 URL:请求 URL 标识了服务器上的资源的位置。
跨域问题其实就是浏览器的同源策略造成的。 同源策略 同源策略限制了从同一个源加载的文档或脚本如何与另一个源的资源进行交互。这是浏览器的一个用于隔离潜在恶意文件的重要的安全机制。...跨源资源共享还通过一种机制来检查服务器是否会允许要发送的真实请求,该机制通过浏览器发起一个到服务器托管的跨源资源的“预检”请求。...有哪些解决跨域的办法 CORS CORS: 通过设置服务器端的响应头来允许跨域请求。这需要在服务器端进行配置,以允许特定的来源访问资源。...预检请求是发起一个HTTP OPTIONS请求到服务器,以确认目标资源是否支持跨域。这种机制是为了兼容同源策略而产生的,但有时这种额外的请求会导致性能问题。...为了减少这种非必要的 OPTIONS 请求次数,可以采取以下几种方法: 配置服务器: 对服务器进行配置以允许来自特定来源的跨域请求。
Method 请求方法,表明客户端希望服务器对资源执行的动作; 1.1 GET 向服务器请求资源。 1.2 HEAD 和GET方法的行为类似,但服务器在响应中只返回首部,不会返回实体的主体部分。...可以做到: 不获取资源的情况下了解资源的情况(比如,判断器类型) 通过查看响应中的状态码,看看某个对象是否存在; 通过查看首部,测试资源是否被修改了; 1.3 PUT 与GET从服务器读取文件相反,PUT...这样客户端就可以查看所有中间HTTP应用程序组成的请求/响应链上,原始包文是否,以及如何被毁坏或修改过; TRACE方法主要用于诊断;也就是说,用于验证请求是否如愿的穿过了请求/响应链。...如果中间节点上有一份资源副本,但无法或者没有对它所发送的与资源有关的原信息(首部)进行验证,就会出现这种情况; 这种响应吗并不是非用不可的;如果实体首部来自源端服务器,相应为200状态的应用程序就可以将其作为一种可选项使用...504:Gateway Timout 与状态码408类似,只是这里的响应来自一个网关或代理,他们在等待另一个服务器对其请求的进行响应时超时了。
一、概念 URI URI 包含 URL 和 URN 二、HTTP 方法 客户端发送的请求报文第一行为请求行,包含了方法字段。 GET 获取资源,当前网络请求中,绝大部分使用的是 GET 方法。...POST 传输实体主体 ,POST 主要用来传输数据,而 GET 主要用来获取资源。 PUT 上传文件,由于自身不带验证机制,任何人都可以上传文件,因此存在安全性问题,一般不使用该方法。...PATCH 对资源进行部分修改,PUT 也可以用于修改资源,但是只能完全替代原始资源,PATCH 允许部分修改。 DELETE 删除文件,与PUT功能相反,并且同样不带验证机制。...307 Temporary Redirect :临时重定向,与 302 的含义类似,但是 307 要求浏览器不会把重定向请求的 POST 方法改成 GET 方法。...Cookie 是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器之后向同一服务器再次发起请求时被携带上,用于告知服务端两个请求是否来自同一浏览器。
三、ajax的四种type类型: 1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用...2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同...3、POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。...4、DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作。...简单的说就是 get理解为查询 delete就是删除 post就是新增 put就是更新数据 四、ajax的原生写法 window.onload = function () { var oBtn
3.GET HTTP GET 方法请求指定的资源。使用 GET 的请求应该只用于获取数据。...4.HEAD HTTP HEAD 方法 请求资源的头部信息, 并且这些头部与 HTTP GET 方法请求时返回的一致....该请求方法的一个使用场景是在下载一个大文件前先获取其大小再决定是否要下载, 以此可以节约带宽资源. HEAD 方法的响应不应包含响应正文. 即使包含了正文也必须忽略掉....如果 HEAD 请求的结果显示在上一次 GET 请求后缓存的资源已经过期了, 那么该缓存会失效, 即使 GET 请求已经完成. 5.OPTIONS HTTP 的 OPTIONS 方法 用于获取目的资源所支持的通信选项...8.PUT HTTP PUT 请求方法使用请求中的负载创建或者替换目标资源。
上的Web应用被准许访问来自不同源服务器上的指定的资源。...example.com:4657 and http://example.com:8080/settings have different origins 同源策略(same-origin policy)限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互...#Origin字段用来说明本次请求来自哪个源(协议 + 域名 + 端口),服务器根据这个值,决定是否同意这次请求。...1.CORS与JSONP的使用目的相同但是比JSONP更强大。 2.JSONP只支持GET请求,CORS支持所有类型的HTTP请求。...对于请求页面响应如下则确认存在该漏洞: Origin: foot.cors.org WeiyiGeek. WeiyiGeek. 补充知识点: 1.CORS漏洞与CSRF漏洞的共同点与不同点?
不同的版本号之间,原则上可以不保证 API 的兼容。 某个版本一旦发布,在同一个版本号之内的 api 升级,必须保证兼容原来发布的 API。...· 一般只使用 POST 动作,偶尔使用 GET 动作。不能使用 PUT、DELETE 动作。 · Action 不要使用简单的、通用的名称。...如不要使用与资源操作冲突的 Get、Add、Update、Delete、Save 等名称。...o 请求标头:如果有特殊的请求标头,需要特别逐一说明。 · 响应 o 说明响应的状态码、内容格式。 o 响应标头:如果有特殊的请求标头,需要特别逐一说明。 o 响应正文:特殊字段、重点必须说明含义。...尽量说明响应正文的所有字段意义。 · 可选:授权、备注 · 示例请求与响应 参考示例: · MS Azure 文档示例 3.2.
上的Web应用被准许访问来自不同源服务器上的指定的资源。...example.com:4657 and http://example.com:8080/settings have different origins 同源策略(same-origin policy)限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互...#Origin字段用来说明本次请求来自哪个源(协议 + 域名 + 端口),服务器根据这个值,决定是否同意这次请求。...simple request (1)简单请求直接发送CORS请求重要就是Origin头与返回的Access-Control-Allow-Origin消息头: ##请求 GET /cors HTTP/1.1...1.CORS与JSONP的使用目的相同但是比JSONP更强大。 2.JSONP只支持GET请求,CORS支持所有类型的HTTP请求。
POST: 创建/更新资源 3. PUT: 更新资源 4. HEAD: 类似于 GET, 但响应式不是数据,而是 HTTP 的 header 信息 5. DELETE: 删除资源 6....• 404(未找到资源):表示找不到任何与 URL 相匹配的资源,资源不存在 • 405(方法禁用):禁用请求中指定的方法。 • 406(不接受当前格式):无法使用请求的内容特性响应请求的网页。...PUT 与 POST 请求的区别? 1. PUT 请求用于更新已存在的资源,而 POST 请求则用于创建新资源或提交更新 2. PUT 请求是幂等的,而 POST 请求不是。...PUT 请求是幂等的,即多次调用同一个 PUT 请求对资源的状态不会有影响,而 POST 请求不是幂等的,即多次调用同一个 POST 请求可能会生成多个资源,或者对已存在资源进行多次更新。 3....PUT 请求需要指定要更新的资源的具体位置,而 POST 请求可以将数据提交到任何位置。 7. 常见的 HTTP 请求头和响应头?
领取专属 10元无门槛券
手把手带您无忧上云