HTTP是一个适用于分布式超媒体信息系统的应用层协议。
特点:
1. 支持C/S模式
2. 简单快速。 客户向服务器请求服务时,只需传送请求方法和路径。 每种方法规定了与服务器联系的不同类型
3. 灵活。 HTTP允许传输任意类型的数据对象. 由Content-Type加以标记.
4. 无连接。 限制每次连接只处理一个请求。服务器完成客户的请求,并收到客户的应答后,即断开连接.
5. 无状态。 协议对事务处理没有记忆能力。
HTTP的URL形式:
http://host[:port][abs_path]
协议 ://主机名:端口/资源名?参数名=参数值&参数名=值#锚点
HTTP报文:它是面向文本的。 主要有两类报文:请求报文和响应报文.
一 请求报文
四部分组成:
请求行,请求报头,空行和请求数据.
HttP1.0规范定义了8种请求方法:
(1)Get:检索URL中标识资源的一个简单请求,这里有一个值得注意的是Get请求不能传中文,所以在传输的时候可以用Post;
(2)HEAD:与Get方法相同,服务器只返回状态行和头标,并不返回请求文档;
(3)POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。
(4)PUT:向指定资源位置上传其最新内容。
(5)DELETE:请求服务器删除Request-URI所标识的资源。
(6)TRACE:回显服务器收到的请求,主要用于测试或诊断。
(7)CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
(8)OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。
这里我们常用的只有Get和Post请求
二 响应报文
状态码由三位数字组成,第一个数字定义了响应的类别,且有5种值:
其实简单地说:
1xx:信息类 2xx:成功类 3xx:重定向类 4xx:客户端错误类 5xx:服务器端错误类