请求编码、响应编码及URL编码的原理

本文详细介绍了HTTP请求编码的四个部分:直接在地址栏输入中文的编码处理,页面中发出请求的编码规则,POST和GET请求的编码解读。特别强调了GET请求的默认编码以及如何通过设置`URIEncoding`属性解决乱码问题。同时,解释了响应编码的重要性,如何通过`response.setCharacterEncoding()`和`response.setContentType()`确保数据以正确编码发送。最后,阐述了URL编码的原理和应用场景,指出服务器会自动对URL编码数据进行解码。
摘要由CSDN通过智能技术生成

1 请求编码


1.1 直接在地址栏中给出中文

请求数据是由客户端浏览器发送服务器的,请求数据的编码是由浏览器决定的。例如在浏览器地址栏中给出:http://localhost:8080/hello/AServlet?name=传智,那么其中“传智”是什么编码的呢?不同浏览器使用不同的编码,所以这是不确定的!

IE:使用GB2312;

  FireFox:使用GB2312;

  Chrome:使用UTF-8;

 

  通常没有哪个应用要求用户在浏览器地址栏中输入请求数据的,所以大家只需了解一下即可。


1.2 在页面中发出请求

通常向服务器发送请求数据都需要先请求一个页面,然后用户在页面中输入数据。页面中有超链接和表单,通过超链接和表单就可以向服务器发送数据了。

因为页面是服务器发送到客户端浏览器的。的,所以这个页面本身的编码由服务器决定。而用户在页面中输入的数据也是由页面本身的编码决定。

例如:

<!DOCTYPE html>
<html>
  <head>
    <title>index.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> //这就相当于给客户端发送了响应头content-type,
									  //指定当前页面的编码为utf-8

  </head>
  
  <body>
<form action="/hello/servlet/AServlet">
  名称:<input type="text" name="name"/>
  <input type="
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值