一、什么是HTTP协议
HTTP是一个在计算机世界里专门在[两点]之间[传输]文字、图片、音频、视频等[超文本]数据的[约定和规范]。
- HTTP是不保存状态的协议
- HTTP协议使用URI定位互联网上的资源
二、HTTP原理
HTTP协议是tcp/ip组中的协议之一,也是互联网上应用最为广泛的协议之一,所有的WWW(万维网)文件都必须遵循这个标准。而设计HTTP协议的最终目的是用来在互联网上传输HTML文件。
三、HTTP中的五类状态码
四、HTTP中的常见字段及作用
- Host:客户端发送请求时,指定服务器的域名
- Content-length:服务器返回数据时,表明这次数据的长度
- Connection:客户端要求服务器使用TCP永久链接
- Content-type:服务器返回数据时,表明返回数据的格式类型
- Content-encoding:表明服务器返回的数据使用了什么压缩方式
五、HTTP方法
六、HHTP中Get方法和Post方法的区别
1. Get方法:客户端从服务器获取数据和资源
2. Post方法:和Get方法相反,通过URL向服务器写入数据
七、HTTP报文
1.请求报文
- 格式:
请求行、请求头部、空行和请求数据
- 实例:
Get方法
GET /562f25980001b1b106000338.jpg HTTP/1.1
Host img.mukewang.com
User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Accept image/webp,image/*,*/*;q=0.8
Referer http://www.imooc.com/
Accept-Encoding gzip, deflate, sdch
Accept-Language zh-CN,zh;q=0.8
Post方法
POST / HTTP1.1
Host:www.wrox.com
User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Content-Type:application/x-www-form-urlencoded
Content-Length:40
Connection: Keep-Alive
name=Professional%20Ajax&publisher=Wiley
2.响应报文
- 格式:
- 示例:
HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8
<html>
<head></head>
<body>
<!--body goes here-->
</body>
</html>
八、报文首部
1.报文结构
- 请求报文首部
- 响应报文首部
2.通用首部字段
3.请求首部字段
4.响应首部字段
5.实体首部字段
6.为Cookie服务的首部字段
九、HTTP的特性
1.HTTP协议的优点:
(1)报文形式简单:报文格式header+body,头部信息是Key+value
(2)灵活易扩展:HTTP中各状态方法和字节码没有固定死,而且工作在应用层,下面的每一层都可以随意变化,因此易扩展。
(3)应用广泛跨平台:HTTP可以运用在网页,浏览器,APP中等。
2.HTTP协议的缺点:
(1)无状态信息:无法记录状态信息,完成有关联的操作会异常麻烦
(2)明文传输不安全性:
- 通信使用明文(不加密),内容可能会被窃听
- 不验证通信方的身份,异常可能遭遇伪装
- 无法证明报文的完整性,所以有可能已遭篡改