1.
在网络编程中,有几个必须掌握的基本概念
客户端(
Client
)
:
移动应用(
iOS
、
android
等应用)
服务器(
Server
)
:为客户端提供服务、提供数据、提供资源的机器
请求(
Request
)
:客户端向服务器索取数据的一种行为
响应(
Response
)
:服务器对客户端的请求做出的反应,一般指返回数据给客户端
2.常用的请求方法GET和POST比较
2.常用的请求方法GET和POST比较
GET
和
POST
的主要区别表现在数据传递上
1.
GET
在请求
URL
后面以
?
的形式跟上发给服务器的参数,多个参数之间用
&
隔开,比如
http://ww.wangchunyang51.com/login?username=wangchunyang&pwd=51&type=JSON
由于浏览器和服务器对
URL
长度有限制,因此在
URL
后面附带的参数是有限制的,通常不能超过
1KB
2.
POST
发给服务器的参数全部放在
请求体
中
理论上,
POST
传递的数据量没有限制(具体还得看服务器的处理能力)
3.GET和POST的选择建议
3.GET和POST的选择建议
如果要传递大量数据,比如文件上传,只能用
POST
请求
GET
的安全性比
POST
要差些,如果包含机密
\
敏感信息,建议用
POST
如果仅仅是索取数据(数据查询),建议使用
GET
如果是增加、修改
、
删除数据,建议使用
POST
4.主要请求头和响应头,可以通过这两个部分获取相应的信息。
4.主要请求头和响应头,可以通过这两个部分获取相应的信息。
A).请求头:包含了对客户端的环境描述、客户端请求信息等
GET /minion.png HTTP/1.1 //包含了请求方法、请求资源路径、HTTP协议版本,GET?POST
Host: 120.25.226.186:32812 //客户端想访问的服务器主机地址
User-Agent: Mozilla/5.0 //客户端的类型,客户端的软件环境
Accept: text/html,*/* //客户端所能接收的数据类型
Accept-Language: zh-cn //客户端的语言环境
Accept-Encoding: gzip //客户端支持的数据压缩格式
B).HTTP/1.1 200 OK //包含了HTTP协议版本、状态码、状态英文名称
Server:Apache-Coyote/1.1 //服务器的类型
Content-Type: image/jpeg //返回数据的类型
Content-Length: 56811 //返回数据的长度,可以用于下载文件时,知道文件的大小。
Date: Mon, 23 Jun2014 12:54:52 GMT //响应的时间