zoukankan      html  css  js  c++  java
  • 网络-GET&POST

    1、定义:
    GET和POST是两种最常用的与服务器进行交互的HTTP方法

    GET

    GET的语义是获取指定URL的资源

    将数据按照variable=value的形式,添加到action所指向的URL后面,并且两者使用"?"连接,各变量之间使用"&"连接

    貌似不安全,因为在传输过程中,数据被放在请求的URL中

    传输的数据量小,这主要是因为受URL长度限制

    POST

    POST的语义是向指定URL的资源添加数据

    将数据放在数据体中,按照变量和值相对应的方式,传递到action所指向URL

    所有数据对用户来说不可见

    可以传输大量数据,上传文件只能使用Post

    2、区别:

    因为POST请求会向服务器发送数据体,因此在刷新页面时会出现提示窗口

    而GET请求不会向服务器发送数据体,因此没有提示

    从请求的本质而言,GET请求要比POST请求更安全,效率也会更高

    3、iOS发送网络请求的步骤:

    1、实例化URL(网络资源)

    2、根据URL建立URLRequest(网络请求)

    默认为GET请求

    对于POST请求,需要创建请求的数据体

    3、利用URLConnection发送网络请求(建立连接)

    4、获得结果

    NSURLConnection提供了两个静态方法可以直接以同步或异步的方式向服务器发送网络请求

    同步请求:

    sendSynchronousRequest:returningResponse:error:

    异步请求:

    sendAsynchronousRequest:queue: completionHandler:

    3、NSURLConnectionDataDelegate:

    在网络请求过程中,接收数据的过程实际上是通过NSURLConnectionDataDelegate来实现的,常用代理方法包括:

    服务器开始返回数据,准备工作

    (void)connection:didReceiveResponse:

    收到服务器返回的数据,本方法会被调用多次

    - (void)connection:didReceiveData:

    数据接收完毕,做数据的最后处理

    (void)connectionDidFinishLoading:

    网络连接错误

    - (void)connection:didFailWithError:

    4、代理的缺点:

    使用代理实现关联性较强的业务逻辑时

    4.1代理方法较多,比较分散

    4.2要处理一个请求,需要在很多地方编写代码

    4.3不利于逻辑实现、代码编写、调试、维护以及扩展

    4.4尤其当存在多个请求时会变得非常麻烦

  • 相关阅读:
    C#之获取本地IP地址
    C#中对Excel进行操作
    C#中的TCP通讯与UDP通讯
    Flex 学习
    正则表达式实例
    sass调试--页面看到sass文件而不是css文件问题
    webpack+vue-loader 在单独.vue组件中使用sass-loader编译sass报错问题not a valid Win32 applictation
    SVG图案填充-Pattern
    jQuery小技巧
    代码整洁一
  • 原文地址:https://www.cnblogs.com/bluceZ/p/4629507.html
Copyright © 2011-2022 走看看