概念
http 协议:http 协议是 Hyper Text Transfer Protocol (超文本传输协议)的缩写,适用于万维网(WWW: World Wide Web)服务器传输超文本超文本到本地浏览器的传输协议;http 是基于 tcp/ip 通信协议来传递数据
http 特点:
1,无连接:每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接,可以节省传输时间;
2,媒体独立:只要客户端和服务器知道如何处理的数据内容,任何数据的内容都可以通过http 发送,客户端和服务器指定使用适合的 MIME-type 内容类型
3,无状态:下次请求与前一次请求没有关系
http 消息结构:
向服务请的请求消息:
请求行:
请求头部:
空行:
请求数:
请求实例
GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi
服务器响应消息:
状态行:
消息报头:
空行:
响应正文:
响应实例:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: “34aa387-d-1568eb00”
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain
http 请求方法
方法 | 描述 |
---|---|
get | 请求指定的页面信息,并返回实体主体 |
head | 类似与get请求,只不过返回的相应中没有具体的内容,用于获取报头 |
post | 向指定资源提交数据进行处理(例如提交表单或者上传文件)。数据被包含在请求体中; |
put | 从客户端向服务器传送的数据取代指定的文档的内容 |
delete | 请求服务器删除指定的页面 |
connect | 请求服务器删除指定的页面 |
options | 允许客户端查看服务器的性能 |
trace | 回显服务器收到的请求,主要用于测试或诊断 |
http 常见状态码:
状态码 | 描述 |
---|---|
200 | 请求成功 |
301 | 资源被永久转移到其它url |
404 | 请求的资源不存在 |
500 | 内部服务器错误 |
http 四种常见的post 提交数据方式
1,application/x-www-form-urlencoded
原生表单,和ajax 方法提交表达的方式都是这种
2,multipart/form-data
利用表单上传文件时使用的方式,而且表单的 enctyped 属性必须设置为它
3,application/json
该种方式告诉服务器,消息主体是序列化后的 json 字符串,可以传递比 键值对复杂的多的结构化数据
4,text/xml
使用xml 作为编码方式的远程调用规范