首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

​你回去了解一下RESTful风格

RESTful风格HTIP请求,使用put、delete、post和get方式分别对应添加、删除、修改和查询操作。不过目前国内开发,还是只使用post和get方式来进行增删改查操作。...接口应该使用标准HTTP方法如GET,PUT和POST,并遵循这些方法语义。...error)- 通用错误响应 503 (Service Unavailable)- 服务端当前无法处理请求 实践中常见问题: POST和PUT用于创建资源时有什么区别?...POST和PUT创建资源区别在于,所创建资源名称(URI)是否由客户端决定。...认为,这是因为rails默认使用服务端生成ID作为URI缘故,而不少人就是通过rails实践REST,所以很容易造成这种误解。 客户端不一定都支持这些HTTP方法吧?

80410

RESTful架构详解 转

接口应该使用标准HTTP方法如GET,PUT和POST,并遵循这些方法语义。...认为,这是因为rails默认使用服务端生成ID作为URI缘故,而不少人就是通过rails实践REST,所以很容易造成这种误解。 客户端不一定都支持这些HTTP方法吧?...如果这些所谓RESTful应用必须通过响应实体才能给出错误信息,那么SOAP就是这样了,它就能够满足了。 2. 3 资源表述 上 面提到,客户端通过HTTP方法可以获取资源,是吧?...客户端与服务端交互必须是无状态,并在每一次请求包含处理该请求所需一切信息。 服务端不需要在请求间保留应用状态,只有接受到实际请求时候,服务端才会关注应用状态。...这种无状态通信原则,使得服务端和中介能够理解独立请求和响应。 多次请求,同一客户端也不再需要依赖于同一服务器,方便实现高可扩展和高可用性服务端。

81831
您找到你想要的搜索结果了吗?
是的
没有找到

RESTful 架构详解

接口应该使用标准HTTP方法如GET,PUT和POST,并遵循这些方法语义。...认为,这是因为rails默认使用服务端生成ID作为URI缘故,而不少人就是通过rails实践REST,所以很容易造成这种误解。 客户端不一定都支持这些HTTP方法吧?...如果这些所谓RESTful应用必须通过响应实体才能给出错误信息,那么SOAP就是这样了,它就能够满足了。 2. 3 资源表述 上面提到,客户端通过HTTP方法可以获取资源,是吧?...客户端与服务端交互必须是无状态,并在每一次请求包含处理该请求所需一切信息。 服务端不需要在请求间保留应用状态,只有接受到实际请求时候,服务端才会关注应用状态。...这种无状态通信原则,使得服务端和中介能够理解独立请求和响应。 多次请求,同一客户端也不再需要依赖于同一服务器,方便实现高可扩展和高可用性服务端。

95820

绕过GitHubOAuth授权验证机制($25000)

用户也可以选择拒绝Foo App访问) 检查该流程首重查看了“Authorize”按钮具体实现行为,之后发现该“Authorize”按钮其中是一个独立HTML格式,它会发送一个包含CSRF...HTTP HEAD请求Rails路由在说谎 HEAD方法跟GET方法相同,只不过服务器响应时不会返回消息体。一个HEAD请求响应,HTTP头中包含元信息应该和一个GET请求响应消息相同。...自HTTP协议被创建以来,HTTPHEAD方法就一直存在了,但是人们对它使用较少。当服务器收到HEAD请求,只会向客户端发送回响应头,而不发送响应体,这有一些特殊用途。...例如,决定是否要开始下载文件之前,客户端可以发送HEAD请求来检查大文件大小(通过内容长度响应头来确定)。 显然,编写网络应用程序的人通常不想花时间来实现HEAD请求行为。...前面我们说过,Rails路由会把它当成GET请求来处理,所以它会被发送到控制器

2.7K10

小结HTTP状态码

备注:web开发工作,我们都会使用封装好库进行接口请求,而且浏览器控制台网络也不会出现这类状态码提示(没看到过?),所以这一大类基本不会接触到,了解一下即可。...201 Created:请求已经成功,并因此创建了一个新资源。这通常是PUT或POST请求之后发送响应。 202 Accepted:请求已经接收到,但是没有响应,没有结果。...与历史上302不同重新发出原始请求不允许更改请求方法。比如,使用POST请求始终就该用POST请求。...410 Gone:被请求资源服务器上已经不再可用,而且没有任何已知转发地址。 422 Unprocessable Entity:请求格式良好,但是由于语义错误而无妨遵循。...这时候要检查下自己传参格式语义有没有正确了。 429 Too Many Requests:用户在给定时间内发送了太多请求(“限制请求速率”)。DDOS攻击中就可以使用到了。

1.1K20

REST 深度进阶

这儿逐个说说: GET - 仅仅用于读数据,应该用 GET。不写入、不更新,只读取数据。这个概念很简单。而且,在这个前提下,相同请求一定会返回相同结果。...注意语义 团队开发 API ,有一个严格要求,就是 API 名称需要有语义感。语义感这个词是自己生造,不是什么高大上东西,就是要求写 API 名称能使用正确英文和次序,能够让人看得懂。...所以,习惯,应用版本控制后,API URL会是这样: GET /v1.7/clients POST /v1.7/clients GET /v1.7/client/23 PUT /v1.7/...重视出错返回信息 API 开发,应该既能处理正确请求,也能处理错误请求错误请求并不可怕,可怕是你没有考虑到,或者考虑到了,但没有给到调用端足够细节。...最常见是 400,请求协议格式或内容错误。 5xx - 服务器错误响应。最常见是 500,服务端程序,也就是 API 内部,有内存溢出或异常抛出。 开发,我们可以充分并准确使用这些状态码。

46410

HTTP协议基础总结

可扩展,只要服务端和客户端就新 headers 达成语义一致,新功能就可以被轻松加入进来,可见 HTTP 灵活性很好; 无状态,同一个连接,两个执行成功请求之间是没有关系。...主要区别有这几个方面: 语义不同,GET 是获取数据,POST 是提交数据; HTTP 规定 GET 比 POST 安全,因为 GET 只做读取,不会改变服务器数据。...浏览器,URL 长度会被限制,所以 GET 请求能传递数据有限,但 HTTP 其实并没有对其作限制,都是浏览器控制; HTTP 规定 GET 请求是幂等,而 POST 请求不是。...实际应用,并不会这么严格,当 GET 获取动态数据,每次结果可能会有所不同; GET 请求浏览器回退是无害,而 POST 会再次提交请求; GET 请求会被浏览器主动缓存,而 POST 不会...表示服务器无法处理请求; 5XX,服务器端错误状态码(Server Error)。表示服务器处理请求出错

74730

前端高频面试题(五)(附答案)

注意:当 301、302、303 响应状态码返回,几乎所有的浏览器都会把 POST 改成GET,并删除请求报文内主体,之后请求会再次自动发送。...该状态码表示客户端发送附带条件请求,服务器端允许请求访问资源,但未满足条件情况。304 状态码返回,不包含任何响应主体部分。304 虽然被划分在 3XX 类别,但是和重定向没有关系。...当错误发生,需修改请求内容后再次发送请求。另外,浏览器会像 200 OK 一样对待该状态码。...5XX (Server Error 服务器错误状态码)5XX 响应结果表明服务器本身发生错误.(1)500 Internal Server Error该状态码表明服务器端执行请求发生了错误。...(4)5XX 服务器错误500 internal sever error,表示服务器端执行请求发生了错误501 Not Implemented,表示服务器不支持当前请求所需要某个功能503 service

67621

前端API层架构,也许你做得还不够

这个道理适用于软件设计各个场景,前端API层设计也不例外,如果您觉得调用接口还存在诸多槽点,那就说明您接口层架构还待优化。...请求 const post = (url, params, config = {}) => v3api.post(url, params, config) // 处理put请求 const put =...请耐心接着看…… 铁器时代,it's cool 想到方案是底层封装和调用者之间再增加一层API适配层(适配层,取量身定制之意),适配层做统一处理,包括参数处理,请求头处理,特殊化处理等,提炼出更语义方法...,我们适配层通过入参判断是否有keyword字段,决定调用search还是page接口。...前端拿到API json,通过nodejs文件编程能力,自动化生成前端接口层代码,解放双手。 结语 当然,以上只是一点点经验和设想,是能力范围内能想到东西,希望能帮助到一些有需要同学。

1.1K10

HTTP请求详解

例如:HTTP1.1支持7种请求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE。Internet应用,最常用方法是GET和POST。...插个知识点,简单讲一下get请求post请求区别: 1.使用Get请求,参数URL显示,而使用Post方式,则不会显示出来 2.使用Get请求长度有限制,发送数据量小;Post请求长度无限制,...发送数据量大; 3.从性能角度上,发送相同数据,GET请求速度最多可达到POST两倍。...客户端收到304响应后,就会从缓存读取对应资源. 4XX-客户端错误(Client Error),表示客户端提交请求错误 例如:404 NOT Found,意味着请求中所引用文档不存在。...5XX-服务器错误(Server Error)表示服务器不能完成对请求处理: 500 服务器内部错误,一般来说,这个问题都会在服务器程序码出错出现。

3.3K81

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day6】 —— 网络编程1

如果有的话参数可以像Post请求一样放在里面么? 追问2:那你刚才说URL传送参数长度限制Get和Post中都是怎么样呢? 追问3:那么你知道Get、Post请求发送数据包有什么不同吗?...) 需要进行附加操作以完成请求 4XX Client Error(客户端错误状态码) 服务器无法处理请求 5XX Server Error(服务器错误状态码) 服务器处理请求出错 状态码 原因 2XX...404 not found,表示服务器上没有找到请求资源 状态码 原因 5XX 服务器错误 500 internal sever error,表示服务器端执行请求发生了错误 501 Not Implemented...正经回答: GET请求URL传送参数是有长度限制,而POST没有。 GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。而POST数据不会显示URL。...其实吧,GET和POST本质上没有区别,都是HTTP协议两种发送请求方法。而HTTP呢,是基于TCP/IP关于数据如何在万维网如何通信协议。

32450

【JavaEE初阶】HTTP协议

方法 请求方法是用来告知服务器请求意图HTTP方法, 不同方法描述了不同语义, 有着不同意图,通常情况下 比如GET表示获取资源, POST表示上传资源, 实际开发中最常用也是这两个方法...响应正文具体格式也是取决于Content-Type. 2.3.2状态码 HTTP状态码负责表示客户端HTTP请求返回结果, 标记服务器端处理是否正常, 通知出现错误等工作; 状态码职责是当客户端向服务器端发送请求...重定向状态码) 需要进行附加操作以完成请求 4XX Client Error (客户端错误状态码) 服务器无法处理请求 5XX Server Error (服务器错误状态码) 服务器处理请求出错 经常使用的如下...303 响应状态码返回,几乎所有的浏览器都会把POST 改成 GET,并删除请求报文内主体,之后请求会自动再次发送。...4XX Client Error 400 Bad Request——你发信息理解不了,改下重发。该状态码表示请求报文中存在语法错误。当错误发生,需修改请求内容后再次发送请求

17120

aardio使用whttp库(winhttp)出现错误:beginSendData ERROR CODE:183 当文件已存在,无法创建该文件。

最近尝试写个http请求相关程序,但刚开始就遇到了挫折。...按照抓包内容写好http请求代码后,总是运行出错:beginSendData ERROR CODE:183 当文件已存在,无法创建该文件。...这个错误,翻遍整个网络也没有找到解决方法,甚至遇到这个问题的人都几乎没有,难道只有用aardiowinhttp才会遇到这个问题? 这个问题困扰了很久,网上没有资料,只能自己解决,或者不用。...于是把发送请求携带header内容一条一条去掉尝试,最后发现是因为header里面携带了Referer数据,这个数据可以post函数第4个参数中指定,但如果在header字符串内包含此数据的话...更新: 在后面的使用,发现在使用inet.whttp库post功能,如果header中含有content-type: application/x-www-form-urlencoded这行时,也会提示这个错误

23320

浏览器自带fetch函数发送GET POST请求发送POST form数据

fetch 是浏览器自带函数,用于发送网络请求。fetch 方法返回一个 Promise 对象,可以通过链式调用 then 方法处理响应数据,或者通过 catch 方法捕获错误信息。...如果请求出错,则使用 catch 方法捕获错误并打印到控制台中。...通过指定 method 参数为 'POST',并在请求 body 参数设置请求体内容,使用 JSON.stringify() 方法将请求体转换为 JSON 格式字符串。...最后,通过 then 方法对请求返回数据进行处理,将响应体转换为 JSON 格式数据并打印到控制台中。如果请求出错,则使用 catch 方法捕获错误并打印到控制台中。...此外,发送 POST 请求,需要设置请求 'Content-Type' 参数为 'application/json',并将请求体使用 JSON.stringify() 方法进行序列化。

2.3K10

数据挖掘工程师:如何通过百度地图API抓取建筑物周边位置、房价信息

2.流程详解 js代码在用户浏览器执行,因此爬取主要部分逻辑都需要写在js脚本里,而rails服务器端需要完成是获得当前需要抓取房屋数据以及储存js抓取数据。...首先由用户浏览器中点击开始按钮,激活GetDataFromServer()方法,浏览器向rails服务器发送请求,服务器return_next()方法返回当前需要抓取房屋数据(主要是街道或者小区位置信息...) 通过getPoint方法,浏览器向Baidu API 发送请求查找房屋坐标,若有结果则继续,否则直接递归调用GetDataFromServer() 使用查询到房屋坐标搜索周边信息:对于每一类信息...(如地铁,医院等),查询到结果后立即向服务器发送查询结果以及房屋信息,并标记当前数据类型(地铁,医院..).服务器接收到数据后,先判断数据类型,然后根据类别再对房屋周边信息进行储存....,所以数据可能已经过时了, 完整代码 公众号 datadw 里 回复 地图 即可获取。

3.9K90

jQuery Ajax 全解析

注:不知道为什么URL写绝对路径FF下会出错,知道麻烦告诉下。下面的get()和post()示例使用是绝对路径,所以FF下你将会出错并不会看到返回结果。...(可选) 要发送给服务器数据,以 Key/value 键值对形式表示,会做为QueryString附加到请求URL。...请求成功可调用回调函数。如果需要在出错执行函数,请使用 .ajax。示例代码: $.get("....其实应该为客户端请求类型(JSON,XML,等等) 这是一个简单 POST 请求功能以取代复杂 .ajax 。请求成功可调用回调函数。如果需要在出错执行函数,请使用 .ajax。...(这个不是很懂) 参数列表: 参数名类型描述urlString(默认: 当前页地址) 发送请求地址。

9.5K10

requests发送post请求,你真的明白吗?

前言 Python爬虫,使用requests发送请求,访问指定网站,是常见做法。...今天微信交流群里,就有朋友遇到了这种问题,特地讲解一下。 HTTP协议post提交数据必须放在消息主体,但是协议并没有规定必须使用什么编码方式,从而导致了提交方式不同。...以http://httpbin.org/post 为例,requests,以form表单形式发送post请求,只需要将请求参数构造成一个字典,然后传给requests.post()data参数即可...大家登录一个网站,可以观察一下Content-Type是什么。 2.提交json串 对于提交json串,主要是用于发送ajax请求,动态加载数据。...以拼多多网站为例,加载商品方式为ajax,商品内容响应。 ? 下面把请求头和请求实体列举一下: ? 一些初学者根据请求头写爬虫,就会犯requests使用错误

91140

requests发送post请求,你真的明白吗?

前言 Python爬虫,使用requests发送请求,访问指定网站,是常见做法。...今天微信交流群里,就有朋友遇到了这种问题,特地讲解一下。 HTTP协议post提交数据必须放在消息主体,但是协议并没有规定必须使用什么编码方式,从而导致了提交方式不同。...以http://httpbin.org/post 为例,requests,以form表单形式发送post请求,只需要将请求参数构造成一个字典,然后传给requests.post()data参数即可...大家登录一个网站,可以观察一下Content-Type是什么。 2.提交json串 对于提交json串,主要是用于发送ajax请求,动态加载数据。...以拼多多网站为例,加载商品方式为ajax,商品内容响应。 ? 下面把请求头和请求实体列举一下: ? 一些初学者根据请求头写爬虫,就会犯requests使用错误

6.7K30
领券