从输入url到显示页面过程
①DNS解析,浏览器查找该域名的IP地址
②浏览器向web服务器发送HTTP请求
③服务器处理请求
④服务器发回HTML相应
⑤浏览器显示HTML网页
常用状态码:
①1XX:请求正在处理
100:客户端继续请求
②2XX:请求处理完毕,成功
200:请求完成
204:服务器成功处理,但未返回内容,可确保浏览器继续显示当前内容
206:服务器成功处理了部分GET请求
③3XX:需要附加操作完成请求
301:永久重定向,所请求的资源已经被永久移动到新的URL,且将其返回并直接跳转
302:临时重定向,与301类似,只是临时转移
303:查看其他地址
304:未修改,所请求的资源未修改,不会返回资源,客户端将从缓存访问过的资源,通过头信息指出客户端希望只返回在指定日期后修改的资源
305:使用代理,需要用代理完成请求
307:临时重定向,同303
④4XX:服务器无法处理请求,报错
400:语法错误
401:未授权
403:禁止请求
404:无法找到资源
405:方法禁用
406:不接受,无法用请求的内容响应
408:请求超时,服务端等待客户端超时
⑤5XX:服务器处理请求出错
500:服务器内部错误
501:服务器不具备完成请求功能
502:网关错误
503:服务器由于超载或维护,无法处理请求
504:网关超时,服务器未能计时从上游服务器接收请求
505:HTTP版本不支持
因为HTTP不保存用户信息,当需要记录用户状态等情况时,需要用到如下:
Cookie
保存在客户端的一小段文本信息
当浏览器重复请求网站时,会将cookie一起发送给服务器,服务器通过检查cookie鉴别用户。(可以设置过时信息)
Session
保存在服务器,一中记录用户状态的机制。
每个用户访问服务器建立一个session,通过由服务器分配给客户端的SessionId进行辨别。
两者区别:
①Cookie保存在客户端,Session保存在服务器
②Cookie不安全,用户可以通过本地Cookie欺骗
③Session有可能影响服务器性能,当访问增多Session也随之增多。
④Cookie大小不超过4K,大多浏览器限制一个站点最多保存20个Cookie
⑤实际使用将登录信息等重要信息保存在Session,其他信息保存Cookie
HTTPS:
采用对称加密+非对称加密方式
加密算法
工作流程:
①浏览器发起URL请求
②服务器将公钥证书发给客户端
③浏览器验证公钥证书(有效期、用途是否匹配)
④浏览器生成对称密钥并用公钥加密该密钥,发给服务器
⑤服务器用自己私钥解密该对称密钥,至此双方都有相同的对称密钥
此后都用对称密钥进行加密通信
⑥浏览器用对称加密将请求加密后发给服务器
⑦用对称加密加密响应发给浏览器