爬虫常见的面试题2

一、get和post的区别?

  • get请求:(获取)--->get方法表示从服务器获取数据。--->(如何获取不同的数据)通过请求参数来获取不同数据,请求参数是写在url的?后面并用&连接的键值对。--->(安全性)因为参数放在url中,所以get方法不安全。--->url长度有限,所以get请求的参数大小受限。

  • post方法:(提交)--->post就是向服务器提交数据。--->请求参数放在客户端请求的请求数据中,安全,同时大小不受限。

二、cookie和session的区别和联系是什么?

(1)什么是cookie和session?

cookie是网站用来辨别用户身份,进行会话跟踪,存储在本地终端上的数据。

session(会话)本来含义是指有始有终的一系列动作和消息。在web中,session主要用来在服务器端存储特定用户对象会话所需要的信息。

(2)cookie和session产生的原因:

http协议是一个无状态协议,在特定操作的时候,需要保存信息,进而产生了cookie和session。

(3)cookie原理:

cookie由服务器产生,浏览器第一次请求,服务器发送给客户端进而保存。浏览器继续访问时,就会在请求头的cookie字段上附带cookie信息,这样服务器就可以识别是谁在访问了。但是cookie存在缺陷:

  • 不安全—本地保存,容易被篡改。

  • 大小受限,本身最大4kb。

cookie虽然在一定程度上解决了‘保持状态’的需求,但是我们希望有一种新的技术可以克服cookie缺陷,这种技术就是session。

(4)session原理:

session在服务器保存—解决安全问题。

那么,问题来了:服务器上有session,但是客户端的请求发送过来,服务器如何知道session_a,session_b,到底和哪个请求对应。所以,为了解决这个问题:cookie就作为这个桥梁。在cookie有一个sessionid字段,可以用来表示这个请求对应服务器中的哪一个session。

禁用cookie,一般情况下,session也无法使用。特殊情况下可以使用url重写技术来使用session。url重写技术:将sessionid拼接到url里面。

session的生命周期:服务器创建开始,有效期结束(一般网站设定都是大约30分钟左右)就删除。

posted @ 2021-09-28 21:12  自信且从容  阅读(50)  评论(0编辑  收藏  举报