301永久重定向,302,303,307都表示非永久的重定向,他们之间的区别主要和http client版本相关。http/1.0版本的http client 发送一个POST请求,当收到http/1.0版本的服务器的302响应码时,将以GET请求Location中的url而不是继续使用POST。http/1.1通过303实现了http/1.0中的同样的功能。303对于http/1.0来说是不可见的。
1、GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。URL的编码格式采用的是ASCII编码,而不是uniclde,即是说所有的非ASCII字符都要编码之后再传输。POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。上面的item=bandsaw就是实际的传输数据。因此,GET请求的数据...
许多浏览器会错误地响应302应答进行重定向,即使原来的请求是POST,即使它实际上只能在POST请求的应答是303时才能重定向。由于这个原因,HTTP 1.1新增了307,以便更加清除地区分几个状态代码:当出现303应答时,浏览器可以跟随重定向的GET和POST请求;如果是307应答,则浏览器只能跟随对GET请求的重定向。 400 Bad Request ...
(1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)(2)post发送的数据更大(get有url长度)(3)post能发送更多的数据类型(get只能发送ASCII字符)(4)post比get慢 (5)post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作(淘宝,支付宝...
get方式是直接在连接后面带上键值对一样的东西:.html?键=值。post的方式比较隐秘,一般我们用于form表单的提交。然后是跳转:request.getRequestDispatcher("abc").forward(request, response);这样也可以带参数过去,但是在servlet中 跳转和重定向是有区别的,并且区别很大。同时,我们可以用Session来传递...
即使通过Nginx将HTTP转换成了HTTPS, 这里也并没有解释为什么POST会变成GET请求, 这里就需要祭出著名的《图解HTTP》中关于状态码的解释了:书中关于 3xx 状态码的解释:1. 301-Moved Permanently(永久性重定向), 该状态码表示请求的资源已经被分配了新的URI, 以后应使用资源现在所指的URI, 也就是说如果...
注意:对于某些使用 HTTP/1.0 协定的浏览器,当它们传送的 POST 请求得到了一个301回响的话,接下来的重定向请求将会变成 GET 方式。 302 Move Temporarily 请求的资源临时从不同的 URI回响请求。由于这样的重定向是临时的,客户端应当继续向原有地址传送以后的请求。只有在Cache-Control或Expires中进行了指定的情况...
注意:对于某些使用 HTTP/1.0 协议的浏览器,当它们发送的 POST 请求得到了一个301响应的话,接下来的重定向请求将会变成 GET 方式。302 Move temporarily请求的资源临时从不同的 URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,...
303 是为了区分302而存在的。这个状态码和302相似,有一个唯一的区别是不允许将请求方法从post改为get。在 rfc7231 的原话如下:rfc7538 新增的状态码 308是307的永久版本,和307是一对 永久重定向有两个: 301和308。两者都默认缓存,但是308不允许将请求方法从POST修改到GET, 301允许。临时重定向...
转发:request.getRequestDispatcher("success.jsp").forward(request,response);重定向:response.sendRedirect("success.jsp");二、区别 1.转发在服务器端完成的;重定向是在客户端完成的 2.转发的速度快;重定向速度慢 3.转发的是同一次请求;重定向是两次不同请求 4.转发不会执行转发后的代码;重...