http
HTTP 超文本传输协议,访问的是远程的网络资源
规定客户端和服务器之间的数据传输格式
让客户端和服务器能有效地进行数据沟通
HTTP协议的特点
(img)
完整的http通信可以分为2大步骤
请求:客户端想服务器索要数据
响应:服务’返回客户端相应的数据
GET和POST对比
GET和POST的主要区别表现在数据传递上
GET:
在请求URL后面以?的形式跟上发给服务器的参数,多个参数之间用&隔开,
由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KB
POST:
发给服务器的参数全部放在请求体中
理论上,POST传递的数据量没有限制
GET和POST的选择
如果要传递大量数据,比如文件上传,只能用POST请求
GET的安全性比POST要差些,如果包含机密\敏感信息,建议用POST
如果仅仅是索取数据(数据查询),建议使用GET
如果是增加、修改、删除数据,建议使用POST
HTTP通信过程 - 请求
HTTP协议规定:1个完整的由客户端发给服务器的HTTP请求中包含以下内容
请求头:包含了对客户端的环境描述、客户端请求信息
GET /minion.png HTTP/1.1 //包含了请求方式、请求路径、HTTP协议版本
Host: 120.25.226.186:32812 //客户端想要访问主机的地址
User-Agent: Mozilla/5.0 //客户端的类型、客户端的软件环境
Accept: text/html, / // 客户端所能接受的数据类型
Accept-Language: zh-cn //客户端的语言环境
Accept-Encoding: gzip //客户端所支持的数据压缩格式
请求体:客户端发给服务器的具体数据,比如文件数据(POST请求才会有)
HTTP通信过程 - 响应
客户端想服务器发送请求,服务器应当响应,即返回数据给客户端
HTTP协议规定:1个完整的HTTP响应中包含以下内容
响应头:包含了对服务器的描述、对返回数据的描述
HTTP/1.1 200 OK //包含了HTTP协议的版本、状态码、状态码对应的英文名称
Server: Apache-Coyote/1.1 //服务器的类型
Content-Type: image/jpeg //返回的数据类型
Content-Length: 56811 //返回数据的长度
Date: Mon, 23 Jun 2014 12:54:52 GMT //响应时间
响应体:服务器返回给客户端的具体数据