Servlet-从HTTP请求角度下思考GET,POST请求

一,HTTP协议下的请求、响应结构

  1. 在httpwatch工具下的http协议的截取:
    在这里插入图片描述

  2. HTTP协议时浏览器和服务器之间的一种通讯协议,数据格式已经制定好了的由W3C制定好了的。

    2.1 我们使用的http协议号时http1.1。

    2.2 http包括几个部分?
    - 请求协议:从Browser发送采用;
    - 相应协议:从Servlet发送采用;

    2.3 请求协议:包括四部分 请求行、消息报头、空白行、请求体
    请求行包括:请求方式 URI 协议版本号。
    空白行:专门用来分离消息报头和请求体的。
    在这里插入图片描述
    2.4 响应协议: 包括四部分 状态行、响应报头、空白行、响应体
    状态行:协议版本号 状态码 状态描述信息;
    空白行:分离响应报头和响应体;
    在这里插入图片描述

注意:这里的状态码是200表示ok。

二,GET请求和POST请求的区别?

  1. POST的请求方式:只有当使用form表单,并且将form表单的method属性设置为method=“post”的情况下才是POST请求方式,剩下的方式都是GET方式的。

  2. 区别:
    - Get请求在请求行上提交数据,格式:uri?name=value&name=value&name…;这种方式最终会在浏览器地址栏上显示。
    - Post请求在请求体中提交数据,相对安全,格式:name=value&name=value;这种方式最终不会在浏览器地址栏上显示。

    - Get请求在请求行上提交数据,所以Get请求有长度限制,只能提交字符串。
    - Post请求在请求体中提交,所以post请求提交的数据没有长度限制,可提交大数据,任何类型的数据;
    
    - Get请求最终结果会被浏览器缓存。响应会高一些。
    - Post请求最终结果不会被浏览器缓存。
    
  3. 应用时的选择
    POST:
    - 有敏感数据,必须使用POST
    - 传输数据很多,使用POST
    - 请求修改服务器端资源,使用POST(每一次修改结果可能是不同的,所以不会被缓存。)
    GET:
    - Get请求多数情况下是为了从服务器端读取资源,这个读取的资源在短时间内是不会发生变化的,所以GET请求最终的结果浏览器会缓存。
    - 如果不希望缓存,可以使用时间戳的方式。
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值