为什么 twitter 不使用更省流量的 RESTful API?现在的 API 大部分流量都花在格式上 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
LLaMA
V2EX    程序员

为什么 twitter 不使用更省流量的 RESTful API?现在的 API 大部分流量都花在格式上

  •  
  •   LLaMA 2023-04-01 22:02:25 +08:00 3567 次点击
    这是一个创建于 975 天前的主题,其中的信息可能已经有所发展或是发生改变。
    18 条回复    2023-04-03 13:52:44 +08:00
    wakzz
        1
    wakzz  
       2023-04-01 23:29:26 +08:00
    1. RESTful 经过这几年实践,大家都发现只适合简单业务场景
    2. 文本结构格式浪费的带宽,相对于媒体连零头都算不上,而且即使文本浪费验证,开个 gzip 直接降低 90%的流量
    cubecube
        2
    cubecube  
       2023-04-02 00:24:53 +08:00
    @wakzz RESTful 不也是文本?
    Nazz
        3
    Nazz  
       2023-04-02 08:33:46 +08:00 via Android
    restful 除了 url 好看点简直一无是处
    xuanbg
        4
    xuanbg  
       2023-04-02 09:02:07 +08:00
    对资源的操作不仅仅是 crud ,而且,同一种操作在不同的场景会有不同的逻辑。譬如:忘记密码和修改密码。
    zlstone
        5
    zlstone  
       2023-04-02 09:16:05 +08:00
    restful 不是只约定 uri 和动作吗,也不涉及资源的表述
    IvanLi127
        6
    IvanLi127  
       2023-04-02 10:37:11 +08:00 via Android
    @xuanbg 你只要敢继续抽象,就能做到。
    忘记密码就是创建重置密码申请,修改密码就是创建新密码。就是比较繁琐。所以对资源的操作至少可以在接口上转化成 crud 。
    LLaMA
        7
    LLaMA  
    OP
       2023-04-02 11:16:06 +08:00
    @xuanbg #4
    忘记密码 POST /Account/ForgetPassword
    修改密码 PUT /Account/assword
    感觉很方便啊
    jeesk
        8
    jeesk  
       2023-04-02 11:25:19 +08:00
    我最近也在看这方面的东西,发现国外很多小公司的 api 也没有完全按照 restful 的来搞。
    jeesk
        9
    jeesk  
       2023-04-02 11:28:12 +08:00
    应该好好想想为什么 grpc 之类的接口为什么在转换成 web 的时候全部使用 post ? 为什么不按照规范对修改和创建都搞成 patch,post ?
    nulIptr
        10
    nulIptr  
       2023-04-02 12:30:14 +08:00   4
    @benrezzagmehamed #7 你这接口叫什么 restful 啊。。。
    jimmy3780
        11
    jimmy3780  
       2023-04-02 17:36:24 +08:00
    @benrezzagmehamed 这个很明显不是 RESTful 的 API ,不是所有的 HTTP API 都叫做 RESTful……
    xuanbg
        12
    xuanbg  
       2023-04-02 20:02:31 +08:00
    @benrezzagmehamed 你这个就很不 RESTful 啊,资源只能是名词,还得复数形式。绝对不可以是动词!!!
    xuanbg
        13
    xuanbg  
       2023-04-02 20:04:15 +08:00
    @IvanLi127 来一个 url 嘛,我被这个问题困扰好多年了呢
    opengps
        14
    opengps  
       2023-04-02 21:12:35 +08:00
    转型需要成本,当时的选型决定了绝大部分架构的技术标准已经锁定
    IvanLi127
        15
    IvanLi127  
       2023-04-03 08:58:00 +08:00 via Android
    @xuanbg 改密码前面想复杂了。


    创建多因子认证 POST /mfa/sms
    提交多因子认证 PATCH /mfa/sms/:id
    创建重置密码申请 POST /users/:id/reset-password-requests ,请求头传多因子认证通过凭证 请求体 {psssword}

    修改密码 PATCH /users/:id ,请求头多因子,请求体 {psssword}
    xuanbg
        16
    xuanbg  
       2023-04-03 09:02:33 +08:00
    @IvanLi127 POST /users/:id/reset-password-requests 这个真的不是强行 RESTful 么?
    IvanLi127
        17
    IvanLi127  
       2023-04-03 12:31:24 +08:00 via Android
    @xuanbg 这哪强行了?如果要记录重置密码的操作历史,不就自然是这么写吗?如果不记录的话,直接 patch user 就行了。
    luzemin
        18
    luzemin  
       2023-04-03 13:52:44 +08:00
    1000 个人有 1001 中 RESTful 的理解
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1536 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 16:33 PVG 00:33 LAX 08:33 JFK 11:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86