-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HTTP入门到熟练 #9
Comments
cookie-session 验证过程 由于http请求时是无状态的,服务器正常情况下是不知道当前请求之前有没有来过,这个时候我们如果要记录状态,就需要在服务器端创建一个会话(seesion),将同一个客户端的请求都维护在各自得会会话中,每当请求到达服务器端的时候,先去查一下该客户端有没有在服务器端创建seesion,如果有则已经认证成功了,否则就没有认证。
var express = require('express');
var RedisStore = require('connect-redis')(express.session);
var app = express();
var secret = "wang839305939"
// 设置 Cookie
app.use(express.cookieParser(secret));
// 设置 Session
app.use(express.session({
store: new RedisStore({
host: "127.0.0.1",
port: 6379,
db: "session_db"
}),
secret: secret
}))
app.get("/", function(req, res) {
var session = req.session;
session.time= session.time|| 0;
var n = session.time++;
res.send('hello, session id:' + session.id + ' count:' + n);
});
app.listen(9080); |
token 验证 使用基于 Token 的身份验证方法,大概的流程是这样的: token 和 cookie-session 的区别:
|
如何判断网站是否启用HTTP2Chrome 中输入: window.chrome.loadTimes() 输出的connectionInfo 和 npnNegotiatedProtocol 是h2就说明使用的是http2 |
HTTP 首部字段1. 通用首部字段Cache-Control 缓存控制✨
Connection ✨
Date 创建报文的时间 Trailer 说明在报文末端的有哪些首部,分块传输时使用 Transfer-Encoding 报文主体的传输编码格式✨ Via 代理服务器的相关信息,报文经过代理或网关在 Via 中加上改服务器信息 2. 请求首部字段Accept 能够处理的媒体类型✨
Accept-Charset 支持的字符集 Accept-Encoding 支持的编码格式 gzip compress deflate identity Accept-Language 支持的自然语言 优先返回中文,因为权重q大(q介于0-1) Authorization web认证信息✨ Host 请求的资源所在的服务器✨(Host必须在请求头内) If-Match 比较实体的标记 Etag✨ If-none-Match 与上相反 If-Modified-Since 比较资源的更新时间(Last-Modified)✨ If-Unmodified-Since 在指定的时间后未发生更新的情况,才处理请求 If-Range Max-forwards 最大跳帧处 Range 部分资源的范围请求✨ Referer 请求的原始URL User-Agent 客户端信息✨ 3. 响应首部字段Accept-Ranges 告知客户端服务器时候能处理范围请求 Age 推算资源创建经过时间 Location 令客户端重定向的URI ✨ Etag 能够表示资源唯一资源的字符串 ✨ Server 服务器的信息 ✨ 4. 实体首部字段实体首部字段是包含在请求报文和响应报文中的试题部分使用的首部,用于补充与实体相关的信息。 Allow 支持的HTTP请求方法✨ Content-Language 实体的资源语言 Content-Encoding 实体的编码格式 Content-Length 实体的大小 Content-MD5 实体报文的摘要 Content-type 媒体类型✨ Expires 资源失效日期✨ Last-Modified 资源最后修改的日期✨ 5. Cookie相关的首部字段Set-Cookie 服务器告诉客户端,我要管理你的状态了
Set-Cookie 字段的属性
Cookie 客户端告诉服务端,我需要你的支持 Cookie 里带着服务器发来的Cookie值 |
http,鉴权等
The text was updated successfully, but these errors were encountered: