M1sc的笔记
一、COOKIE
1、什么是Cookie?
Cookie是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个cookie。
Cookie的作用就是用于解决"如何记录客户端的用户信息":
①当用户访问web页面时,他的名字可以记录在Cookie中。
②在用户下一次访问该页面时,可以在Cookie中读取用户访问记录。
Cookie实际上是一小段文本信息(上限为4kb)。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器可以把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务还可以根据需要修改Cookie的内容。
2、Cookie的属性
| 属性名 | 描述 |
| name | Cookie的名称,Cookie一旦创建,名称便不可更改 |
| value | Cookie的值,如果值为Unicode字符,需要为字符编码。如果为二进制数据,则需要使用BASE64编码 |
| maxAge | Cookie失效的时间,单位秒。如果为整数,则该Cookie在maxAge秒后失效。如果为负数,该Cookie为临时Cookie,关闭浏览器即失效,浏览器也不会以任何形式保存该Cookie。如果为0,表示删除该Cookie。默认为-1。 |
| secure | 该Cookie是否仅被使用安全协议传输。安全协议。安全协议有HTTPS,SSL等,在网络上传输数据之前先将数据加密。默认为false。 |
| path | Cookie的使用路径。如果设置为“/sessionWeb/”,则只有contextPath为“/sessionWeb”的程序可以访问该Cookie。如果设置为“/”,则本域名下contextPath都可以访问该Cookie。注意最后一个字符必须为“/”。 |
| domain | 可以访问该Cookie的域名。如果设置为“.google.com”,则所有以“google.com”结尾的域名都可以访问该Cookie。注意第一个字符必须为“.”。 |
| comment | 该Cookie的用处说明,浏览器显示Cookie信息的时候显示该说明。 |
| version | Cookie使用的版本号。 |
二、HTTP协议
HTTP协议:无连接无状态的协议,无状态是指Web浏览器与Web服务器之间不需要建立持久的连接。(session和cookie不安全以及大部分安全风险主要是因为HTTP协议本身不够安全。。。)
HTTP请求:
POST /test.php HTTP/1.1 //请求行 请求方法 请求页面
HOST:www.test.com //请求头 主机地址
User-Agent:Mozilla/5.0 (windows NT 6.1;rv:15.0)//空白行,代表请求头结束 浏览器标识
Username=admin&password=admin //请求正文
GET、POST、HEAD、PUT请求方法的区别:
GET:GET方法用于获取请求页面的指定信息。参数直接拼接在地址栏URL的后面;有具体的长度限制(<1024K);数据明文显示,不安全;产生一个数据包;浏览器会把http header 和 data 一并发出去,服务器响应200(返回数据)
POST:最大的区别在于,GET方法没有请求内容,而POST是有请求内容的。参数是放到请求体里面;理论上无长度限制;产生两个数据包;浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok
HEAD:这个请求的功能与GET请求相似,不同之处在于服务器不会再其响应中返回消息主体,因此,这种方法可用于检查某一资源在向其提交GET请求前是否存在。
PUT:PUT方法用于请求服务器把请求中的实体存储在请求资源下,如果请求资源已经在服务器中存在,那么将会用此请求中的数据替换原先的数据。向服务器上传指定的资源。
http状态码规律
1xx:信息提示,表示请求已被成功接收,继续处理。
2xx:请求被成功提交。3xx:客户端被重定向到其他资源。
4xx:客户端错误状态码,格式错误或者不存在资源。
5xx:描述服务器内部错误。
三、COOKIE和SESSION
session和cookies同样都是针对单独用户的变量,不同的用户在访问网站的时候都会拥有各自的session或者cookies。(大站一般用Cookie)
不同点 session cookies
存储位置不同 服务器端产生,较安全,但session较多则会影响性能 客户端产,安全性稍弱,生命周期不同
生命周期 在指定的时间后会结束,不到指定的时间, 默认浏览器进程结束而结束,但手动指定时间,则
也会随着浏览器进程的结束而结束。 不受浏览器进程结束的影响。
数据位置 放在服务器上 数据存放在客户的浏览器
安全性 安全 不安全
session会在一定时间内保存在服务器上, 减轻服务器性能方面,应当使用COOKIE,
当访问增多,会比较占用你服务器的性能 一个站点在客户端存放的COOKIE不能3K

浙公网安备 33010602011771号