前端面经 REST、RESTful架构(一句话概括RESTful),大厂offer手到擒来

20 阅读3分钟

也就是说,上网就是与网上一系列的资源进行互动,也就是不断访问各个资源对应的URL。

注意:

上面说到,REST 是 “表现层状态转移”。实际上表现层是“资源”的表现层。所以REST应该说的是,资源的表现层状态转化。

表现层 Representation

=================================================================================

“资源”Resources具体表现出来的形式,叫作资源的表现层(Representation)。

例如:

譬如一段文本可以用txt格式表现,也可以用HTML格式等去表现;

图片可以用JPG格式去表现,也可以用PNG格式去表现。

注意:

URL只代表资源的实体,并不代表资源的形式,也就不代表资源的表现层。

状态转化 State Transfer

==================================================================================

简单来说:上网,是客户端和服务器的一个互动过程。在这个互动的过程,客户端要访问资源Resources,则涉及到了资源、数据、状态的变化。

首先,HTTP协议是一个无状态协议,即所有的状态保存在服务器端而不是在客户端。 那么客户端通过HTTP协议访问某些资源,必定会使服务器端的资源的状态发生转化。而资源的状态转化,是体现在资源的表现层上。也就是使服务器端上的资源的表现层状态发生转化。

再者,客户端对服务器端进行互动,用的是HTTP协议。而HTTP协议里有四个动词:GET、POST、PUT、DELETE。

  1. GET:获取资源

  2. POST:新建资源(或更新资源)

  3. PUT:更新资源

  4. DELETE:删除资源

总结

=================================================================

REST是Representational State Transfer,即表现层状态转化。

符合REST原则的架构,就叫RESTful架构。

URL定位资源Resources,即通过访问URL来获取资源。

表现层的状态转化,实际上是资源的表现层发生状态转化。

客户端访问资源,使服务器端上的资源的表现层发生状态转化。

客户端通过HTTP四个动词,GET、POST、PUT、DELETE,对服务器端资源进行操作,实现资源的表现层状态转化。

概括如下:

  1. URL定位资源

  2. 客户端与服务器端之间的互动,使得资源的表现层发生状态转化

  3. 客户端通过4个HTTP动词:GET、POST、PUT和DELETE,对服务器端的资源进行操作,实现服务器端上资源的“表现层状态转移”

最后

小编的一位同事在校期间连续三年参加ACM-ICPC竞赛。从参赛开始,原计划每天刷一道算法题,实际上每天有时候不止一题,一年最终完成了 600+:

凭借三年刷题经验,他在校招中很快拿到了各大公司的offer。

入职前,他把他的刷题经验总结成1121页PDF书籍,作为礼物赠送给他的学弟学妹,希望同学们都能在最短时间内掌握校招常见的算法及解题思路。

整本书,我仔细看了一遍,作者非常细心地将常见核心算法题和汇总题拆分为4个章节。

而对于有时间的同学,作者还给出了他结合众多数据结构算法书籍,挑选出的一千多道题的解题思路和方法,以供有需要的同学慢慢研究。

开源分享:docs.qq.com/doc/DSmRnRG…