今天看啥  ›  专栏  ›  是小猪童鞋啦

计算机网络之 基础知识点 GET和POST的区别、cookie与session、http的状态码

是小猪童鞋啦  · 简书  ·  · 2020-03-27 06:59
1. 请描述method="get"和"post"有什么区别?
第一方面:安全性
get把数据追加在url上,明文显示,不安全,而post不是明文显示,相对安全。

第二方面:数据允许大小
get允许传递的数据只有2kb,而post则不限,
get只能向服务器发送ASCII字符,而post则可以发送整个ISO10646中的字符

第三方面:数据流
get只能传递字符型数据,不能传递二进制流数据,而post既可传递字符流也可传递二进制流。

第四方面:get和post对应的enctype属性有区别
enctype有两个值,默认值为application/x-www-form-urlencoded
而另一个值multipart/form-data只能用于post。

第五方面:由于一个get得到的结果直接对应到一个URI
所以get的结果页面有可能被浏览器缓存。而post一般则不能。
2. 简述cookie和session的区别
cookie 和session 的区别: 

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。 

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。 

3、session会在一定时间内保存在服务器上。
当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COOKIE。 

4、单个cookie保存的数据不能超过4K,
很多浏览器都限制一个站点最多保存20个cookie。 
cookie 和session 的联系: session是通过cookie来工作的,可以考虑将登陆信息等重要信息存放为session
其他信息如果需要保留,可以放在cookie中。

在购物网站中通常将用户加入购物车的商品联通session_id记录到数据库中,
当用户再次访问是,通过sessionid就可以查找到用户上次加入购物车的商品。
因为sessionid是唯一的,记录到数据库中就可以根据这个查找了。
cookie session
保存在客户端中 保存在服务器中
只能保存字符串 可以保存任意类型数据
保存的数据大小和浏览器有关 一般在4k左右 保存的数据大小理论上没有限制 只要服务器内存够用就行
相对安全性较低 安全性较高
分担了服务器的压力 增加了服务器压力
Cookie
将信息保存在客户端(浏览器)
是客户端保存用户状态的一种技术
当客户端访问服务器时
服务器处理请求之后
会将少量的数据发送给客户端
客户端会将这些数据通过cookie保存到计算机的硬盘上。
当客户端再次访问服务器时
会将这些数据发送给服务器
这样我们就实现了客户端和服务器的多次交互
使得这些数据实现来回传递。
Session
在服务器端维护用户状态的一种技术
当浏览器访问服务器时 服务器会自动创建一个session对象(HttpSession)
该对象有一个唯一的标识号 jsessionid
并且服务器在默认情况下 会使用cookie技术 将jsessionid发送给浏览器并保存
当浏览器下次访问时 会将jsessionid发送给服务器
服务器通过jsessionid找到对应的session对象
通过这种方法 可以实现维护用户信息的目的
3. http响应常用的状态码有哪些?分别是什么含义?

常用状态码:

状态码 代表状态
200 成功
302 重定向的状态码
404 资源不存在 访问命令寻找不到
405 请求方式不正确
500 服务器内部异常 代码出现异常
状态码<400 成功
状态码>=400 失败



原文地址:访问原文地址
快照地址: 访问文章快照