发表于: 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中。




返回列表 返回列表
评论

    分享到