第一章 HTTP协议
1 HTTP请求响应
1.1 常见的请求方式
归类 | 方法 | 作用 |
---|---|---|
常用 | GET | 请求从服务器获取资源 |
HEAD | 类似于GET请求,只不过不会返回实体数据,只获取报头 | |
POST | 向服务器提交数据 | |
PUT | 替换服务器的内容 | |
不常用 | DELETE | 请求服务器删除指定的资源 |
TRACE | 对链路进行测试或诊断 | |
OPTIONS | 列出可对资源实行的操作方法,Allow字段里返回 | |
CONNECT | 要求服务器和另一台服务器建立连接,充当代理 | |
扩展 | MKCOL、COPY、MOVE、LOCK、UNLOCK、PATCH |
1.2 HTTP请求格式
1.3 HTTP响应格式
状态码
200 OK
表明请求已经成功. 默认情况下状态码为200的响应可以被缓存。不同请求方式对于请求成功的意义如下:
PUT
和DELETE
的请求成功通常并不是响应200
OK
的状态码而是204
No Content
表示无内容(或者201
Created
表示一个资源首次被创建成功)。
1.4 HTTP特点
-
请求应答模式
在HTTP1.1版本以前,客户端向服务端发送请求后,服务端才会向客户端发送数据
-
灵活可拓展
响应头中Content-Type描述数据类型,不限制
-
可靠传输
工作在应用层,三次握手,四次挥手
-
无状态stateless
客户端的每次请求相互独立
2 Cookie和Session
2.1 客户端的cookie
2.1.1 cookie
-
Cookie特点
明文、可修改、大小受限(视浏览器而定)、不能跨浏览器或跨域名
2.1.2 JavaScript操作cookie
2.1.3 浏览器插件操作cookie
2.2 服务端的Session
- session创建、校验、销毁
- 判断用户是否已登录的逻辑
,写入cookie)
k->>f:发送Cookie字段(从session中取出信息,判断登录状态)
k->>f:后续操作,保持登录
k->>f:注销(销毁session,cookie过期)
- 判断用户是否已登录的逻辑
检查发来的cookie中的用户名id等信息在服务端是否有存储