HTTP 的 GET/POST区别 及 cookie 和 session 区别

本文详细解析了HTTP GET与POST方法的区别,包括功能、数据传输、安全性等方面,同时阐述了幂等性和非幂等性的概念,以及cookie和session在用户会话管理中的作用和区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.HTTP GET/POST 区别

   常见的 HTTP 方法:GET / POST / PUT / DELETE

   GET 经常用来获取操作,POST 用来做创建操作、PUT更新、DELETE 删除

    HTTP GET VS POST

Restful 语义上一个是获取,一个是创建

GET 是幂等的,就是对服务器没有副作用;POST 非幂等,就是每一次创建一个新的东西会影响数据库的数据。

GET请求参数放到url(明文),长度限制;POST放在请求体,更安全。

    (1)web开发中 Post 和 Get 有哪些区别,各适合用于什么情况 ?

           Get 请求参数在链接铭明文显示。Post 请求参数放在Http报文实体的主体中,保密性更好。

            一般向服务器请求数据资源用Get;向服务器发送处理数据用Post。

   (2)http协议中get、post的区别详解?

 ① 功能差异:

     get :获取数据,客户端去服务器端取数据。(get向服务器端获取取数据)

    post:提交数据,从客户端向服务器上传数据。(post向服务器端提交数据)

② 数据传输:

   get:通过URL里面加上参数去把数据传输给服务器端,然后服务器端根据发送过来参数返回对应内容。( get把数据放到URL部分)

  post:URL唯一标识,通过唯一标识向唯一标识路径下提交一些数据,数据在Body部分放着不在URL里面,Post把所有数据放到Body里面提交给服务器,服务器会把Body(消息主题)里面的数据存储到服务器端数据库。(post把数据放到Body部分)

③ 安全性:

          post相对于get更安全。

浏览器的地址栏会显示出来当前URL,get会把所有的数据放到url部分,数据会以明文显示对于用户来说是可见的,并且浏览器会有历史记录的功能。

post会把所有的数据放到Body部分,这一部分是浏览器无法记录,地址栏也是无法直接发送一个post请求,post请求一般在页面里面通过form表单或者Ajax等方式发送一个请求给服务器端。post把所有数据放到Body部分对于用户来说是不可见的,相对于get有一定安全性。

无论是get还是post如果传输的数据未经过加密,通过第三方抓包工具依然是可以把数据抓取到的,一旦抓取到数据还是可以看到传输的数据内容都包含哪些。为了保证传输的内容安全,一般对关键信息或者敏感信息都会采用这种加密的形式。

2.什么是幂等性

   什么是幂等?哪些 HTTP 方法是幂等的

幂等方法是无论调用多少次都得到相同结果的 HTTP 方法

例如:a = 4 是幂等的,但是 a += 4 就是非幂等的

幂等的方法客户端可以安全地重新请求,因为不会对服务器上的数据造成什么影响。

幂等是指多次请求结果和请求一次结果一样;安全指的是是否会修改数据。

2.cookie 和 session 区别

HTTP是无状态的,每次发送HTTP实际和之前的HTTP请求都没有什么关系,如何识别用户呢?

需要在服务端给用户生成一个标识,然后每次让客户端带过去给后端,识别用户会话。用户会话就是用户识别的一种方式。

Session 一般是服务器生成之后给客户端 (通过 url参数或cookie)

Cookie 是实现 session 的一种机制,通过 HTTP cookie 字段实现

Session 通过在服务器保存 sessionid 识别用户,cookie存储在客户端。

   (1)Cookie 和 Session有哪些区别和联系

            ① Cookie存储在客户端,Session存储在服务器。

            ② Cookie 减轻服务器存储压力,一般存储安全性要求不高的数据。Session 存储安全性较高的数据。

            ③ 在客户端的Cookie 中存储session id,以此来标记服务器的哪个session 文件是当前用户的。(session 文件:session 存储介质视服务器而定)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值