目次
回复内容:
ホームページ バックエンド開発 PHPチュートリアル 目前来说在网站架构方面采用nobackend这种方案构建是否真的可行?

目前来说在网站架构方面采用nobackend这种方案构建是否真的可行?

Jun 06, 2016 pm 04:45 PM
android api session token web

就是说 web,ios,android只是个展示层,持久化操作统一丢给api。
先不考虑 模板渲染这一块,我们可能会把这块放到前端。
目前纠结就是 web的session 和 app的token 问题。
这套api不单单通过token来校验,而是当web请求是他是会有用户session的。
当含有用户session的时候就不用校验token。
这种做法有什么局限性或者缺点吗?
欢迎指正拍砖!
后端php..

回复内容:

当然可行,而且我还有很多成功案例,业内的案例应该也不少,尽管有些是忽悠人的,有些只是看起来是那么回事儿,实际却不是。

但是话说回来,这事儿还是看你们有没有资深架构师,要真的有很多钱的话,我不介意用.NET给你们证明这个架构的可行性的。(PHP无爱抱歉)


如果你真的纠结token和session这种问题,要么是因为你们没有能力搞定这个架构,要么是你没玩过心里没底,我不太知道是哪一种,总之是否可行的答案是肯定的。 我理解你说的nobackend是指不想采取PHP、JSP之类技术的传统架构,那类架构在session里会放一堆用户业务的状态,并在服务器端写逻辑来更新页面或者操作后端服务(如,更新数据库)。

就我个人经验而言,你完全可以把页面更新和用户当前状态放在前端,后端API是一组无状态的服务,这其实是很常见的架构了。

比较麻烦的(从你的问题描述里也可以看出)是安全那块。

native的client,你可以考虑oauth implicit grant type那种,即token直接放客户端,因为native APP被认为比较安全。

web的话,token直接放客户端比较危险,但传统方法(包括oauth authorization code grant type)是要在session里放token的。

这个问题,其实也有办法解决。但你最好先问一下自己,真的要无session化吗?其实session一般而言是很难完全去掉的,就整个系统架构而言,你只不过是在你的编程视野内不用它而已。合理的使用,并无不可,不要搞原教旨主义。如果只有token放session里面,万一服务器崩溃,假设你应用处理得好,前端业务状态态能被持久化,那无非就是让用户重新登录然后回到刚才页面继续。比如,在线商城,用户只要把东西放购物车里,后台崩掉,也无非就是重登录,你的购物记录还在,可以继续操作。这只是粗略描述,具体细节要根据业务需求来定,但我的意思你应该能明白了吧。 你可以读读这个Post: Lift, State, and Scaling, 无关语言。可以想到的是,你们可能需要自己造很多轮子,因为很多事务在前端做的话没有成熟的工具,最后反倒拖慢了你们的创业。 简单来说,
1. 后端提供rest api,提供一个/verify供登录验证,然后后续操作都需要附带验证信息
2. 前端通过ember/angular做成webapp,使用ajax消费rest api,我在实际中就不用cookie,每次登录就是了,因为你已经是webapp了
3. 如果需要安全就上https,cookie这玩意我个人觉得能免则免 直接使用js api,授权问题很难解决,secret不能下载到浏览器,只能使用隐式授权,但大多数服务都不支持。。。 无后端方案?这个有过。记忆中有挺多的案例的。

无后端不是真的没有后端,API实现不也是后端之类的技术嘛。发展到现在应该已经基本没难点了。 题主的问题,可能是没有认识到服务端token和web session的区别。其实还好,和接口服务器通信肯定是token,web端的session肯定是先验证了服务端访问权限由web端生成的。
我们来过一下流程,
用户登录为例,
1. 用户登录,向api服务器发送验证信息
2. 服务器验证OK,返回一个token表示验证通过
3. web端创建一个登录session记录下当前登录态获取的token
4. 登录完成,跳转到应用页面
在上面之后,用户要看看ta的优惠券信息
1. 拿着登录时web端session里保存的token 和用户名等信息,调用优惠券接口
2. 返回优惠券信息
服务器在这个过程中做了2件事
1. 验证token合法性(存在性,过期与否,来源等)
2. 合法,调用服务返回优惠券信息,反之,报错。
在这里,你可以看到session是web端表现层用的,token是接口服务器的session,分清楚层次,就明朗了。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します 新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します Sep 12, 2024 pm 12:23 PM

ここ数日、Ice Universeは、サムスンの次期主力スマートフォンであると広く信じられているGalaxy S25 Ultraの詳細を着実に明らかにしている。とりわけ、リーカーはサムスンがカメラのアップグレードを1つだけ計画していると主張した

Samsung Galaxy S25 Ultraの最初のレンダリング画像がリークされ、噂のデザイン変更が明らかに Samsung Galaxy S25 Ultraの最初のレンダリング画像がリークされ、噂のデザイン変更が明らかに Sep 11, 2024 am 06:37 AM

OnLeaks は、X (旧 Twitter) のフォロワーから 4,000 ドル以上を集めようとして失敗した数日後、Android Headlines と提携して Galaxy S25 Ultra のファーストルックを提供しました。コンテキストとして、h の下に埋め込まれたレンダリング イメージ

IFA 2024 | TCLのNXTPAPER 14は、パフォーマンスではGalaxy Tab S10 Ultraに匹敵しませんが、サイズではほぼ匹敵します IFA 2024 | TCLのNXTPAPER 14は、パフォーマンスではGalaxy Tab S10 Ultraに匹敵しませんが、サイズではほぼ匹敵します Sep 07, 2024 am 06:35 AM

TCLは、2つの新しいスマートフォンの発表に加えて、NXTPAPER 14と呼ばれる新しいAndroidタブレットも発表しました。その巨大な画面サイズはセールスポイントの1つです。 NXTPAPER 14 は、TCL の代表的なブランドであるマット LCD パネルのバージョン 3.0 を搭載しています。

新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します 新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します Sep 12, 2024 pm 12:22 PM

ここ数日、Ice Universeは、サムスンの次期主力スマートフォンであると広く信じられているGalaxy S25 Ultraの詳細を着実に明らかにしている。とりわけ、リーカーはサムスンがカメラのアップグレードを1つだけ計画していると主張した

Vivo Y300 Pro は、7.69 mm のスリムなボディに 6,500 mAh のバッテリーを搭載 Vivo Y300 Pro は、7.69 mm のスリムなボディに 6,500 mAh のバッテリーを搭載 Sep 07, 2024 am 06:39 AM

Vivo Y300 Pro は完全に公開されたばかりで、大容量バッテリーを備えた最もスリムなミッドレンジ Android スマートフォンの 1 つです。正確に言うと、このスマートフォンの厚さはわずか 7.69 mm ですが、6,500 mAh のバッテリーを搭載しています。これは最近発売されたものと同じ容量です

Motorola Razr 50s は初期リークで新たな予算を折り畳める可能性があることを示す Motorola Razr 50s は初期リークで新たな予算を折り畳める可能性があることを示す Sep 07, 2024 am 09:35 AM

Motorola は今年数え切れないほどのデバイスをリリースしましたが、そのうち折りたたみ式デバイスは 2 つだけです。ちなみに、世界の大部分ではこのペアが Razr 50 および Razr 50 Ultra として受け入れられていますが、Motorola は北米では Razr 2024 および Razr 2 として提供しています。

Samsung Galaxy S24 FEは、4色と2つのメモリオプションで予想よりも低価格で発売されると請求されています Samsung Galaxy S24 FEは、4色と2つのメモリオプションで予想よりも低価格で発売されると請求されています Sep 12, 2024 pm 09:21 PM

サムスンは、ファンエディション(FE)スマートフォンシリーズをいつアップデートするかについて、まだ何のヒントも提供していない。現時点では、Galaxy S23 FE は 2023 年 10 月初めに発表された同社の最新版のままです。

Xiaomi Redmi Note 14 Pro Plusは、Light Hunter 800カメラを搭載した初のQualcomm Snapdragon 7s Gen 3スマートフォンとして登場します Xiaomi Redmi Note 14 Pro Plusは、Light Hunter 800カメラを搭載した初のQualcomm Snapdragon 7s Gen 3スマートフォンとして登場します Sep 27, 2024 am 06:23 AM

Redmi Note 14 Pro Plusは、昨年のRedmi Note 13 Pro Plus(Amazonで現在375ドル)の直接の後継者として正式に発表されました。予想通り、Redmi Note 14 Pro Plusは、Redmi Note 14およびRedmi Note 14 Proと並んでRedmi Note 14シリーズをリードします。李

See all articles