您的位置:首页 > 文旅 > 美景 > 网页布局结构图_西宁到青海湖_郑州网站建设哪里好_免费的建站平台

网页布局结构图_西宁到青海湖_郑州网站建设哪里好_免费的建站平台

2025/3/11 3:18:20 来源:https://blog.csdn.net/FoyoDesigner/article/details/146106023  浏览:    关键词:网页布局结构图_西宁到青海湖_郑州网站建设哪里好_免费的建站平台
网页布局结构图_西宁到青海湖_郑州网站建设哪里好_免费的建站平台

<前文回顾>

点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=12907601&sharerefer=PC&sharesource=FoyoDesigner&sharefrom=from_link

<今日更新>

一、GET 和 POST:表单处理的“两把刷子”

在 JavaWeb 开发里,表单处理是“家常便饭”,而 GET 和 POST 这俩请求方式,就是处理表单的“两把刷子”。虽然它们都能“干活”,但用起来可是“天差地别”。GET 是“明枪”,POST 是“暗箭”,一个“光明正大”,一个“偷偷摸摸”。

1. GET:明枪易躲

GET 请求是 HTTP 协议里最常用的请求方式之一,它的特点就是“简单粗暴”。GET 请求会把参数拼在 URL 后面,像“挂羊头卖狗肉”一样,谁都能看见。

HTML Code

<form action="submit" method="get">

    <input type="text" name="username">

    <input type="submit" value="提交">

</form>

运行 HTML

提交后,URL 会变成这样:

/submit?username=张三

2. POST:暗箭难防

POST 请求是 HTTP 协议里另一种常用的请求方式,它的特点就是“低调内敛”。POST 请求会把参数放在请求体里,像“闷声发大财”一样,谁也不知道。

HTML Code

<form action="submit" method="post">

    <input type="text" name="username">

    <input type="submit" value="提交">

</form>

运行 HTML

提交后,URL 不会变,参数藏在请求体里,只有服务器知道。

二、GET 和 POST 的“本质区别”

GET 和 POST 虽然都能“干活”,但它们的“本质区别”可不少。GET 是“查”,POST 是“改”,一个“只读不写”,一个“又读又写”。

1. 参数位置

GET 请求的参数是“挂”在 URL 后面的,像“尾巴”一样,谁都能看见。POST 请求的参数是“藏”在请求体里的,像“秘密”一样,只有服务器知道。

Java Code

// GET 请求

String username = request.getParameter("username");

// POST 请求

request.setCharacterEncoding("UTF-8");

String username = request.getParameter("username");

2. 参数长度

GET 请求的参数长度是“有限”的,因为 URL 的长度是“有限”的。POST 请求的参数长度是“无限”的,因为请求体的长度是“无限”的。

3. 安全性

GET 请求的参数是“公开”的,谁都能看见,所以“不安全”。POST 请求的参数是“隐藏”的,只有服务器知道,所以“安全”。

4. 缓存

GET 请求是“可缓存”的,浏览器会把 GET 请求的结果缓存起来,下次再请求时直接从缓存里拿。POST 请求是“不可缓存”的,浏览器不会缓存 POST 请求的结果。

5. 幂等性

GET 请求是“幂等”的,多次请求的结果是一样的。POST 请求是“非幂等”的,多次请求的结果可能不一样。

三、GET 和 POST 的“使用场景”

GET 和 POST 虽然都能“干活”,但它们的“使用场景”可不一样。GET 是“查”,POST 是“改”,一个“只读不写”,一个“又读又写”。

1. GET 的使用场景

GET 请求适合用来“查”数据,比如搜索、分页、过滤啥的。GET 请求的参数是“公开”的,所以适合用来“查”数据。

HTML Code

<form action="search" method="get">

    <input type="text" name="keyword">

    <input type="submit" value="搜索">

</form>

2. POST 的使用场景

POST 请求适合用来“改”数据,比如登录、注册、提交啥的。POST 请求的参数是“隐藏”的,所以适合用来“改”数据。

HTML Code

<form action="login" method="post">

    <input type="text" name="username">

    <input type="password" name="password">

    <input type="submit" value="登录">

</form>

四、GET 和 POST 的“历史”:从 HTTP/1.0 到 HTTP/2

GET 和 POST 从 HTTP/1.0 开始就有了,虽然现在 HTTP/2 已经“普及”了,但它们的“本质区别”依然没变。

1. HTTP/1.0:初代“两把刷子”

HTTP/1.0 在 1996 年发布,GET 和 POST 是它的“初代两把刷子”。虽然功能简单,但已经能满足大部分开发需求了。

2. HTTP/1.1:引入 PUT、DELETE

HTTP/1.1 在 1999 年发布,引入了 PUT、DELETE 这些新的请求方式,但 GET 和 POST 依然是“主力”。

3. HTTP/2:性能提升

HTTP/2 在 2015 年发布,性能提升了不少,但 GET 和 POST 的“本质区别”依然没变。

五、GET 和 POST 的“骚操作”

1. GET 的“骚操作”

GET 请求虽然“简单粗暴”,但也能“玩出花”来。比如,用 GET 请求下载文件,像“挂羊头卖狗肉”一样,谁都能看见。

Java Code

response.setContentType("application/octet-stream");

response.setHeader("Content-Disposition", "attachment; filename=\"file.txt\"");

InputStream in = new FileInputStream("/path/to/file.txt");

OutputStream out = response.getOutputStream();

byte[] buffer = new byte[4096];

int length;

while ((length = in.read(buffer)) > 0) {

    out.write(buffer, 0, length);

}

in.close();

out.flush();

2. POST 的“骚操作”

POST 请求虽然“低调内敛”,但也能“玩出花”来。比如,用 POST 请求上传文件,像“闷声发大财”一样,谁也不知道。

HTML Java Code

<form action="upload" method="post" enctype="multipart/form-data">

    <input type="file" name="file">

    <input type="submit" value="上传">

</form>

Part filePart = request.getPart("file");

String fileName = filePart.getSubmittedFileName();

filePart.write("/uploads/" + fileName);

out.println("文件上传成功!");

专有名词解释

  1. GET 请求:HTTP 协议中的一种请求方式,参数拼在 URL 后面,适合用来“查”数据。
  2. POST 请求:HTTP 协议中的一种请求方式,参数放在请求体里,适合用来“改”数据。
  3. 幂等性:多次请求的结果是一样的,GET 请求是幂等的,POST 请求是非幂等的。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com