网络基础

2016-10-21  本文已影响0人  LY2528

1.网络基本概念

1).客户端 (手机或者iPad等手持设备上面的APP)

2).服务器(远程服务器-本地服务器)

3).请求 (客户端索要数据的方式)

4).响应(需要客户端解析数据)

5).数据库(服务器里面的数据从这里来)

2.HTTP

1).URL

1)如何找到服务器(通过一个唯一的url)

2)url介绍

a.统一资源定位符

b.url格式 (协议\主机地址\路径)

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

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

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

3)请求协议

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

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

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

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

2)http协议

(1)http协议的简单介绍

a.超文本传输协议

b.规定客户端和服务器之间的数据传输格式

c.让客户端和服务器端能有效的进行数据沟通

(2)http协议的优缺点

a.简单快速(协议简单,服务器端的程序规模小,通信速度快)

b.灵活(允许传输各种数据)

c.非持续性连接(1.1之前版本是非持续性的,即限制每次连接只处理一个请求,服务器对客户端的请求做出响应后,马上断开连接,这种方式可以节省传输时间)

(3)基本通信过程

a.请求:客户端向服务器端索要数据

b.响应.服务器返回客户端相应的数据

3)GET 和 POST 

(1)http里面发送请求的方法

GET(常用)  POST(常用)  OPTIONS  HEAD PUT DELETE TRACE CONNECT PATCH

(2)GET 和 POST 请求的对比(区别在于参数如何传递)

GET

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

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

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

POST

发送给服务器的参数全部放在请求体中,理论上,POST传递的数据量没有限制(具体还得看服务器的处理能力)

(3)如何选择(除简单数据查询外,其他的一律建议使用POST请求)

a.如果要传递大量数据,比如文件上传,只能使用POST

b.GET的安全性比POST要差些,如果包含机密\敏感信息,建议使用POST

c.如果仅仅是要索取数据(数据查询),建议使用GET

d.如果是增加,修改,删除数据,建议使用POST

4)iOS中发送http请求的方案

(1)苹果原生

NSURLConnection 03年推出的古老技术

NSURLSession 13年推出iOS7之后,以取代NSURLConnection

CFNetwork

(2)第三方框架

ASIHttpRequest

AFNetworking

MKNetworkkit

5)http请求通信过程

(1)请求 (包括请求头 + 请求体[非必选])

(2)响应(响应头 + 响应体)

(3)通信过程

a.发送请求的时候把请求头和请求体(请求体是非必须的)包装成一个请求对象

b.服务器端对请求进行响应,在响应信息中包含响应头和响应体,响应信息是对服务器端的描述,具体的信息放在响应体中传递给客户端

(4)状态码

[200] : 请求成功

[400] : 客户端请求的语法错误,服务器无法解析

[404] : 无法找到资源

[500] : 服务器内部错误,无法完成请求

上一篇 下一篇

猜你喜欢

热点阅读