公司規(guī)定所有接口都用 POST請求,這是為什么?
最近在逛知乎的時候發(fā)現(xiàn)一個有趣的問題:《公司規(guī)定所有接口都用 post 請求,這是為什么?》 看到這個問題的時候其實我也挺有感觸的,因為我也曾經(jīng)這樣問過我自己。在19的時候接到一個項目是從零開始搭建一個微服務(wù),當(dāng)時就有了解過接口的一些規(guī)范,比如耳熟能詳?shù)腞estful規(guī)范,就被應(yīng)用到這個微服務(wù)項目中。 今天再次看到這個問題,我也有了一些新的理解和感觸,臨時回顧了一下get與post的請求的一些區(qū)別:
post更安全(不會作為url的一部分,不會被緩存、保存在服務(wù)器日志、以及瀏覽器瀏覽記錄中) post發(fā)送的數(shù)據(jù)更大(get有url長度限制) post能發(fā)送更多的數(shù)據(jù)類型(get只能發(fā)送ASCII字符) 搜索公眾號互聯(lián)網(wǎng)架構(gòu)師復(fù)“2T”,送你一份驚喜禮包。 post比get慢 post用于修改和寫入數(shù)據(jù),get一般用于搜索排序和篩選之類的操作 查看上面的區(qū)別,就會發(fā)現(xiàn)post在發(fā)送數(shù)據(jù)量大的請求時優(yōu)勢很顯示,get則更適合獲取靜態(tài)資源、簡單的查詢等接口。
我個人在開發(fā)接口的時候也會注意,將簡單的查詢請求使用get方法,其他增、刪、改、復(fù)雜的查詢請求都可以使用post,但不會像題主的公司一樣全部使用post。
網(wǎng)友程墨Morgan提出如果是自己會按照『業(yè)界最佳實踐』制定規(guī)范:
另外一個知友提出:就是為了遷就低水平不思進取的架構(gòu)師和前后端程序員們。
相關(guān)閱讀:2T架構(gòu)師學(xué)習(xí)資料干貨分享
對此,如果是你來設(shè)計公司的API規(guī)范,會規(guī)定所有接口都用 post 請求嗎,這是為什么?
全棧架構(gòu)社區(qū)交流群
?「全棧架構(gòu)社區(qū)」建立了讀者架構(gòu)師交流群,大家可以添加小編微信進行加群。歡迎有想法、樂于分享的朋友們一起交流學(xué)習(xí)。
掃描添加好友邀你進架構(gòu)師群,加我時注明【姓名+公司+職位】
全棧架構(gòu)社區(qū)交流群
?「全棧架構(gòu)社區(qū)」建立了讀者架構(gòu)師交流群,大家可以添加小編微信進行加群。歡迎有想法、樂于分享的朋友們一起交流學(xué)習(xí)。
看完本文有收獲?請轉(zhuǎn)發(fā)分享給更多人
往期資源:
評論
圖片
表情


