发表于: 2021-05-26 22:04:43
1 1681
今天完成的事情:学习 获取后端 JSON数据,并进行判断展现; 深度思考
明天计划的事情:angular使用 HTTP 与后端服务进行通信;登录页面获取正确数据并跳转到表单页面;
收获:
rest 风格:REST是REpresentational State Transfer (状态转移)的缩写
从大的方面了解 REST 是一种设计网络应用时的构架风格。这种风格约束了网络应用中各个模块之间的交互,从而使网络应用具有非常好的简易性,扩展性,可靠性等。REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。资源是由URI来指定。
REST描述了以抽象的“资源”为中心,各个模块之间通过转移(Transfer)沟通资源的“表征状态 (Representational State)”来实现应用的功能。
在REST里,“资源”是一切可命名事物的抽象。可以是一个人,可以是一个图片,也可以是北京的天气。有些资源是静态不变的,也有些是一直变化的,所以在模块获取资源的时候,我们REST构架下传递的是这个资源的某个“表征状态”。比如对于“北京时间”这个资源,传递这个资源的时候,我们可以把当下时间点这个状态通过某种方式出来后传递。
对资源的操作包括获取创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法通过操作资源的表现形式来操作资源。资源的表现形式则是XML或者HTML,取决于读者是机器还是人,是消费web服务的客户软件还是web浏览器。当然也可以是任何其他的格式。
一般符合 rest ful 开发的要求:
客户端和服务器结构
连接协议具有无状态性
能够利用Cache机制增进性能
层次化的系统
get 与 post的区别:
POST和GET都是向服务器提交数据,并且都会从服务器获取数据。
区别:
1、传送方式:get通过地址栏传输,post通过报文传输。
2、传送长度:get参数有长度限制(受限于url长度),而post无限制
3、GET和POST还有一个重大区别:
GET产生一个TCP数据包;POST产生两个TCP数据包;
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
GET与POST都有自己的语义,不能随便混用。
在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。
并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。
建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;
而在做数据添加、修改或删除时,建议用Post方式;
一般情况下,登录的时候都是用的POST传输,涉及到密码传输;
而页面查询的时候,如文章id查询文章,用get 地址栏的链接为:article.php?id=11,
用post查询地址栏链接为:article.php, 不会将传输的数据展现出来。
拓展资料:
GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST么有。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET参数通过URL传递,POST放在Request body中。
评论