HTTP(Hyper Text Transfer Protocol)协议:超文本传输协议。
是一个常见的应用层协议。主要负责应用程序间的内容沟通。
事务处理的过程
1.客户端与服务器端建立连接
2.客户端向服务器端发起请求
3.服务器接收请求,后根据请求返回相应的应答
4.客户端与服务器端断开连接
HTTP协议格式
HTTP请求:首行、Header、Body
Header和Body之间有一行空行隔开
首行由 方法 URL 版本 构成
请求方法有:GET/POST,其中以GET方法提交的请求没有正文,其正文在URL查询字符串中
版本有 :0.9/1.0/1.1/2
Header:存放的是请求属性。由 Key:Value 组成的键值对组成,其中键值对之间以\r\n分隔
Body:允许为空;若不为空,则在Header中会有一个Content-Type属性来得知Body长度
Header常见属性:
Content-Length:内容长度
Content-Type:请求的与实体对应的MIME信息
Location:搭配重定向状态码使用,告诉浏览器接下来会访问的地址
Cookie:将保存在该域名下的所有cookie一起发送给服务器
Host:指定服务器的域名和端口
Connection:是否保持连接
HTTP响应:响应行、Header、Body
响应行:
协议 状态码 状态码解释
Heder和Body存放内容大致相似
HTTP常用方法
方法名 | 用途 | 支持版本 |
---|---|---|
GET | 获取资源 | 1.0、1.1 |
POST | 获取实体主体 | 1.0、1.1 |
PUT | 传输文件 | 1.0、1.1 |
HEAD | 获得报文首部 | 1.0、1.1 |
DELETE | 删除文件 | 1.0、1.1 |
OPTIONS | 询问支持的方法 | 1.1 |
TRACE | 追踪途径 | 1.1 |
CONNECT | 要求用隧道协议建立连接 | 1.1 |
LIINK | 建立和资源之间的联系 | 1.0 |
UNLIKE | 断开连接关系 | 1.0 |
HTTP常见状态码
1XX:信息性状态码
2XX:成功状态码
3XX:重定向状态码
4XX:客户端错误状态码
5XX:服务器错误状态码
常见的:200-请求已正确处理
300-URL已更新,需要更新浏览器书签引用
302-临时重定向
400-服务器无法理解客户端发送的请求
403-权限不足
404- 服务器没有请求的资源
500-服务器内部错误
503-服务器正忙。表示服务器超负荷或停机维护,无法处理请求。