HTTP-GET-POST

URL(全称:Uniform Resource Locator 统一资源定位符)

通过一个URL,能找到互联网上唯一的一个资源

URL就是资源的地址、位置,互联网上的每一个资源都有自己唯一的URL

URL的基本格式:协议(http)://主机地址/路径  (例如:http://www.58.com/img/logo.png)

                      //协议:不同的协议,代表着不同的资源查找方式,资源传输方式

                      //主机地址:存放资源的主机(服务器)的IP地址(域名)

                      //路径:资源在主机(服务器)中的具体位置

URL中常见的协议:

HTTP(超文本传输协议):访问的是远程的网络资源,格式是http:// (最常用)

file:访问的是本地计算机上的资源,格式是file://(不用加主机地址)

mailto:  访问的是电子邮件的地址,格式是mailto:

FTP:访问的是共享主机的文件资源,格式是ftp://

HTTP:

http协议简单,服务器程序规模小,因而通信速度很快,允许传输各种各样的数据

http0.9和1.0版本属于非持续连接,限制每次连接只处理一个请求,服务器对客户端的请求做出响应后,马上断开连接,这种方式可以节省传输时间,而现在则使用1.1版本,属于持续连接。

发送HTTP请求的方法:GET / POST (最常用)

GET:

在请求URL后面以?的形式跟上发给服务器的参数,多个参数之间用&隔开,例如:

http://www.test.com/login?username=123&pwd=234&type=JSON

由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KB

POST:

发给服务器的参数全部放在请求体中

理论上,post请求的数据量是没有限制的(具体还要看服务器的处理能力)

GET和POST的选择:

如果要传递大量数据,比如文件上传,只能用post请求

get的安全性比较差,包含机密或敏感信息,建议post请求

如果仅仅是索取数据(数据查询),建议用get

如果是增加数据,修改,删除数据,建议用post

GET和POST区别:

1. get 是从服务器上获取数据,post是向服务器传送数据

2. get是把参数数据队列加到提交表单的ACTION属性所🈯️的URL中,值和表单内各个字段--对应,在URL中可以看到,post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制,但理论上,IIS4中最大量为80KB,IIS5中为100KB。

5. get安全性非常低,post安全性较高,但是执行效率却比post方法好。

建议:

1. get方式的安全性较post方式要差些,包含机密信息的话,建议用post数据提交方式

2. 在做数据查询时,建议用get方式,而在数据添加,修改或删除时,建议用post方式

iOS中发送HTTP请求的方案:

苹果自带:

NSURLConnection:用法简单,最古老最直接最经典的一种方案(坑比较多)

NSURLSession:功能比NSURLConnection更强大,苹果目前比较推荐使用这种技术

CFNetWork:NSURL的底层,纯C语言

第三方框架:

ASIHttpRequest:外号“HTTP终结者”,功能极其强大,可惜早已停止更新

AFNetWorking:简单易用,提供了基本够用常用的功能

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 请求类型 三种最常见的请求类型是:GET,POST 和 HEAD GET:获取一个文档 大部分被传输到浏览器的ht...
    拾穗丶阅读 3,200评论 0 4
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,477评论 6 152
  • 1.HTTP应答码 HTTP应答码也称为状态码,它反映了Web服务器处理HTTP请求状态。HTTP应答码由3位数字...
    overflow_hidden阅读 286评论 0 0
  • 深入浅出HTTP协议(WEB开发和面试必备) 1.基础概念篇 a.简介 HTTP是Hyper Text Trans...
    半世韶华忆阑珊阅读 1,242评论 0 7