目录
1 Http概述
概念:Hyper Text Transfer Protocol 超文本传输协议
传输协议:定义了客户端和服务器端通信时,发送数据的格式
请求:客户端给服务器发送消息
响应:服务器给客户端发送消息
Http协议特点:
1. 基于TCP/IP的高级协议
2. 默认端口号:80
3. 基于请求/响应模型的:一次请求对应一次响应
4. 无状态的:每次请求之间相互独立,不能交互数据
Http历史版本
1.0版本:每一次请求响应都会建立新的连接
1.1版本:复用连接,对缓存支持比较好
注:浏览器中的每一张图片都是一次单独的请求
2 Http请求消息数据格式
Http请求消息数据格式分为四部分:请求行、请求头、请求空行、请求体(正文)
打开火狐浏览器,按键f12
请求行 | 格式:请求方式 请求url 请求协议/版本 GET /login.html HTTP/1.1 请求方式: HTTP协议有7中请求方式,常用的有2种 |
请求头 | 请求头:客户端浏览器告诉服务器一些信息。格式:请求头名称: 请求头值 2. Referer:http://localhost/login.html 告诉服务器,我(当前请求)从哪里来? 作用: 1. 防盗链 2. 统计工作: |
请求空行 | 请求空行:就是用于分割POST请求的请求头,和请求体的。 |
请求体(正文) | 请求体(正文):封装POST请求消息的请求参数的 |
HTTP请求的字符串格式:
3 Http响应消息数据格式
响应消息:服务器端发送给客户端的数据
响应行 | 1. 组成:协议/版本 响应状态码 状态码描述 响应状态码分类: 1. 1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码 2. 2xx:成功。代表:200 3. 3xx:重定向。代表:302(重定向),304(访问缓存) 4. 4xx:客户端错误。代表:404(请求路径没有对应的资源) 405:请求方式没有对应的doXxx方法 5. 5xx:服务器端错误。代表:500(服务器内部出现异常) |
响应头 | 格式:头名称: 值 常见的响应头: 1. Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式 |
响应空行 | |
响应体 | 传输的数据 |
响应字符串格式
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 101
Date: Wed, 06 Jun 2018 07:08:42 GMT
<html>
<head>
<title>$Title$</title>
</head>
<body>
hello , response
</body>
</html>