网络-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尤其当存在多个请求时会变得非常麻烦

时间: 2024-08-06 10:33:49

网络-GET&POST的相关文章

iOS开发——网络编程OC篇&Socket编程

Socket编程 一.网络各个协议:TCP/IP.SOCKET.HTTP等 网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 其中物理层.数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象: 传输层.会话层.表示层和应用层则被称作主机层,是用户所面向和关心的内容. http协议   对应于应用层 tcp协议    对应于传输层 ip协议     对应于网络层 三者本质上没有可比性.  何况HTTP协议是基于TCP连接的. TCP/IP是传输层协议,主要

网络攻防第一次作业(201421450010)

姓名:陈书扬 学号:201421450010 指导教师:高见 1.虚拟机安装与调试 安装windows和linux(kali)两个虚拟机,均采用NAT网络模式,查看主机与两个虚拟机器的IP地址,并确保其连通性.同时为两个虚拟机做一个快照 windows虚拟机 Linux虚拟机 本地主机win10 两台主机都ping通 2.Windows基本命令 dir显示目录   cd 进入目录 Arp -a -d -s arp缓存 net share 查看计算机IPC$共享资源 netstat -ano网络链

10.6 监控io性能 - 10.7 free命令 - 10.8 ps命令 - 10.9 查看网络状态 - 10.10 linux下抓包

- 10.6 监控io性能 - 10.7 free命令 - 10.8 ps命令 - 10.9 查看网络状态 - 10.10 linux下抓包 - 扩展tcp三次握手四次挥手 http://www.doc88.com/p-9913773324388.html  - tshark几个用法:http://www.aminglinux.com/bbs/thread-995-1-1.html  # 10.6 监控io性能 ![mark](http://oqxf7c508.bkt.clouddn.com/b

Kali linux网络配置

Kali linux 安装完成后,需要对其网络进行配置.使用DHCP服务是配置网卡最简单的方法之一,但渗透测试时通常不会这样做,因为系统会被记录在DHCP服务器的数据库中. 1  动态DHCP方式 配置文件地址: /etc/network/interface # 启动系统激活设备 # Loop回环地址 auto lo iface lo inet loopback # 启动系统激活设备 # 网卡eth0设置为DHCP类型 auto eth0 iface eth0 inet dhcp 2  静态St

深度复数网络 Deep Complex Networks

转自:https://www.jiqizhixin.com/articles/7b1646c4-f9ae-4d5f-aa38-a6e5b42ec475  (如有版权问题,请联系本人) 目前绝大多数深度学习模型中的数学都是实数值的,近日,蒙特利尔大学.加拿大国家科学院-能源/材料/通信研究中心(INRS-EMT).微软 Maluuba.Element AI 的多名研究者(其中包括 CIFAR Senior Fellow Yoshua Bengio)在 arXiv 上发布了一篇 NIPS 2017(

C#网络编程技术FastSocket实战项目演练

一.FastSocket课程介绍 .NET框架虽然微软提供了socket通信的类库,但是还有很多事情要自己处理,比如TCP协议需要处理分包.组包.粘包.维护连接列表等,UDP协议需要处理丢包.乱序,而且对于多连接并发,还要自己处理多线程等等.本期分享课程阿笨给大家带来的是来源于github开源Socket通信中间件:FastSocket,目的就是把大家从繁琐的网络编程技术中彻底地解放和释放出来. 阿笨只想安安静静的学习下网络编程技术Socket后,将学习的成果直接灵活的运用到自己的实际项目中去.

Android网络通讯简介

网络通信应该包含三部分的内容:发送方.接收方.协议栈.发送方和接收方是参与通信的主体,协议栈是发送方和接收方进行通信的契约.按照服务类型,网络通信可分为面向连接和无连接的方式.面向连接是在通信前建立通信链路,而通信结束后释放该链路.无连接的方式则不需要在通信前建立通信连接,这种方式不保证传输的质量. Android提供了多种网络通信的方式,如Java中提供的网络编程,在Android中都提供了支持.Android中常用的网络编程方式如下: 针对TCP/IP协议的Socket和ServerSock

openvpn实现分流,指定IP走VPN,其它走本地网络

最近研究了Openvpn好久.现在写一点心得出来. 客户需求:看香港某几个网站使用openvpn翻墙过去,其它所有访问不能用翻墙,要走本地. 系统环境: Centos x64位 6.8, 使用在线yum安装 一.服务器端配置 详细配置参考其它配置文档 [[email protected] openvpn]# rpm -qa | grep openvpn openvpn-2.3.11-1.el6.x86_64 生成ta.key文件,用于tls-auth认证. # openvpn --genkey

如何构建安全的网络连接机制

随着计算机网络与信息化的不断发展,DT时代数据资源的多样性.庞大性.分布广泛性,导致信息安全问题日趋复杂,计算机网络的开放框架所带来的威胁层出不穷.面对严峻的网络安全形势,传统的信息安全系统从架构和强度上已经难有大的突破.人们在信息安全的实践中逐渐认识到,大多数安全隐患来自于终端,如何解决这项问题,成为了各网络大咖们需要攻克的又一课题. 勤智数码产品方案部-秦杨凯给出了这个课题的解决方案-- 通过构建对等规格的网络安全协议和的信息资源管理体系的分布式网络,可快速提高数据资源自由流通.往来无碍.安

网络运维调查

我想在北京就业 通过百度我知道工作职位仅在北京地区网络运维的职位有2668个,朝阳区276个,东城33个,海淀258个,石景山15个,延庆2个,西城48个,昌平67个,丰台74个,怀柔4个,通州28个,密云3个,大兴57个,房山5个,门头沟3个,顺义18个.薪资方面,4001~6000元每个月的有793个,6001~8000元每个月的有1059个,8001~10000元每个月的有709个,10001~15000元每个月的有509个,15001~20000元每个月的有301个,20001~3000