HTTP(超文本传输协议)
一个基于请求响应的应用层协议
url请求资源的地址
http://host[":"port][abs_path]
host:主机名,对应IP地址的一个点或一个段
port:端口号
abs_path:主机上的资源路径(文件绝对路径)
请求方式
GET请求
将请求数据作为url的一部分发送,不安全,传输数据量小,一般用于查询
POST请求
出局传输量大,安全,一般作为表单提交
常见相应状态码
200:OK
客户端请求成功
400:Bad Request
客户端请求有语法错误,不能被服务器所理解
401:Unauthorized
请求未经授权,这个状态代码必须和
www-Authentivate报头域一起使用
403:Forbidden
服务器收到请求,但是拒绝提供服务
404:not fund
请求的资源不存在,输入了错误的url
500:Internal Server Error
服务器发生不可预期的错误
503:Server Unavailable
服务器当前不能处理客户端的请求,一段时间后可能回复正常
cookie(会话跟踪技术)
session
用户进入网站,开始浏览到结束的这样一个过程称为一次会话
会话跟踪技术
浏览器和服务器进行多次数据请求时,数据共享的过程,称为会话跟踪技术
C/S
客户端:为用户提供上网的一台PC
服务器:为客户端提供服务
cookie的生成过程
打开浏览器-输入网址-回车-域名解析-访问服务器-返回主页-将cookie存储在浏览器-用户要访问二级页面时,打开新的窗口-会自动判断上一个页面中是否有cookie,如果有就将cookie数据带入到下一个页面
cookie是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个。可以将用户的登录名密码存储于cookie中,就可以实现自动登录。也可以用于存储购物车记录
cookie数据的存和取
存:key=value(键值对构成)
document.Cookie="name=xioaming";
多个cookie要写多条语句,不能追加
取:document.cookie
取出来的字符串每组键值对用分号+空格隔开
let strCookie=dcument.cookie;
let arrCokkie=strCookie.split("; ");
for(let i=0;i<arrCookie.length;i++){
let item=arrCookie[i].split("=");
conson.log(item[0],item[1]);
}
存储数据只有4K,存储于本地浏览器
cookie 的生命周期
document.cookie="key=value;[expires=标准日期对象]";
expires:修饰时间的关键字
let date=new Date();
date.setDate(date.getDate()+9);
document.cookie="name=laowang;expires="+date;
cookie的删除(长生命周期)
将key设置为“ ”
将时间(expires)设置为-1
完全体(删除,刷新页面,注释,刷新页面)
document.cookie="name=' ' ; expires=-1";
cookie 的封装
设置 setcookie
function setCookie(key, value, day) {
if (day == undefined) {
document.cookie = '${key}=${value}';
} else {
let date = new Date();
date.setDate(date.getDate() + day);
document.cookie = '${key}=${value};expires=' + date;
}
}
获取 getcookie
function getCookie(key) {
let strCookie = document.cookie;
let arrCookie = strCookie.split("; ");
for (let i = 0; i < arrCookie[i].length; i++) {
if (item[0] == key) {
return item[1];
}
}
return '';
}
删除cookie
function deleteCookie(key) {
setCookie(key, '', -1);
}