zoukankan      html  css  js  c++  java
  • Get與Post的區別--總結隨筆

      關於Get與Post的區別的文章,在網上太多了;有優點有缺點,今天我給各位大哥做一個總結性的隨筆,還請多多包涵~

      首先是W3School上的答案,請查收: 

    • 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中。

    以上答案物先後順序,可作為理解的參考,還請記得這些答案,後面的講解會涉及到這些。

      然而,這些get,post,head,put,delete等方法都是建立在http協議上的服務方式,基於tcp傳輸協議運行在網路上。所以在

    這一根本的前提上,get,post等相關的服務方式沒什麼區別,除了一些現象版的區別,再無其他。這些現象版的區別表現在傳輸數據上的差別,

    get在請求傳輸數據時,url聯同數據頭一併發送;而post在處理請求數據的響應時,先發送url,得到回應後再傳送數據。

    兩者之間的優缺點可以基於傳送數據的時間和安全性上總對比:get由於一併打包發送數據,所以時效性強,速度快,但是安全性也是暴露無遺;

    post由於請求url有數據分開,所以在安全性上比get略高一籌,但是在傳輸速度上沒get方式快。當然,這一切對比的基礎都是物理條件相同的情況下,才有的對比結果。

    1.        OPTIONS 返回服务器所支持的请求方法
    2.   GET 向服务器获取指定资源
    3.   HEAD 与GET一致,只不过响应体不返回,只返回响应头
    4.   POST 向服务器提交数据,数据放在请求体里PUT 与POST相似,只是具有幂等特性,一般用于更新
    5.   DELETE 删除服务器指定资源
    6.   TRACE 回显服务器端收到的请求,测试的时候会用到这个
    7.   CONNECT 预留,暂无使用

    以上是比較常用的http協議下的服務類型。不知道的不用再去百度了,在這裡這一份就可以解決問題。

    常用的狀態碼:

      HTTP状态码

     HTTP协议中提供了好多状态码,列举我们常用的:

      200 返回正常

      304 服务端资源无变化,可使用缓存资源

      400 请求参数不合法

      401 未认证

      403 服务端禁止访问该资源

      404 服务端未找到该资源

      500 服务端异常

    這裡就引申出來一個簡單的應用接口:Restful Api

      服务端根据不同的请求方式,可以做不同的处理,同时,根据不同的请求,还可以设计出不同风格的应用程序接口,这就引出了Representational State Transfer,英文缩写就是REST,中文意思是表述性状态转移(和没翻译差不多),可以理解为客户端和服务端的交互形式。而符合这种交互形式的接口设计,就被叫做RESTful API。这种风格有如下特点:

      使用名词而不使用动词

      例如:/getStudent 或者 /searchStudents 应该改成 /students

      GET用于查询,PUT、POST、DELETE用于修改

      使用名词复数不使用单数

      在HTTP请求的head体里定义序列化类型

      例如:Content-Type:application/json

      请求的集合应设定好过滤条件、排序、字段、分页

      例如:/students?page=1&size=10

      接口要版本化

      例如:/api/v1/students

      要有HTTP状态码

      允许重写HTTP请求方法

    case:

      要使用這個案例就要介紹幾個工具了:

    1.npm i  json-server  -g 全局下載json-server.

    2.這個前提是在nodejs的環境下完成的,請下載最新版本。

    3.postman測試接口的有效軟件工具,配合get,post可以很簡單方便的查看,接口數據的使用和分佈。

    由於時間有限,就不做多的解釋了;又能力的朋友可以去測試一下,就當做娛樂了:).

  • 相关阅读:
    长连接与短连接
    服务器配置tomact service
    数据库权限表设计
    VPS搭建离线下载服务器——后网盘时代
    Unix socket的准备(一)
    LeetCode 650
    C++11获取线程的返回值
    柔性数组成员——不定长的数据结构
    看懂类图——UML类图基础
    Java类初始化顺序
  • 原文地址:https://www.cnblogs.com/zhangdzz/p/10480131.html
Copyright © 2011-2022 走看看