日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Http请求url参数字符集

發(fā)布時間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Http请求url参数字符集 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

http請求:

瀏覽器 --》服務器(tomcat應用服務器)---》應用

1,瀏覽器。

  url:瀏覽器默認采用UTF-8,對URL參數(shù)中非ASCII進行百分號編碼(RFC3986“%編碼”進行編碼);

  表單(get/post)請求:采用當前頁面編碼,對URL參數(shù)中的非ASCII字符進行百分號編碼;

  ajax:??get方式發(fā)起的請求,IE11和chrome會根據(jù)當前頁面的默認編碼對URL參數(shù)中的非ASCII字符進行百分號編碼。而IE6不會對URL非ASCII表示的路徑信息和參數(shù)信息進行編碼。

?     post方式發(fā)起的請求,即便設定了application/x-www-form-urlencoded頭信息,瀏覽器也不會對數(shù)據(jù)做任何的編碼(或者說瀏覽器不把發(fā)送的數(shù)據(jù)當做URL的一部分)。

  采用encodeURIComponent()或者encodeURI()對非ASCII字符進行編碼。encodeURIComponent與encodeURI區(qū)別:

        1,encodeURI方法不會對下列字符編碼??ASCII字母、數(shù)字、~!@#$&*()=:/,;?+'

2,encodeURIComponent方法不會對下列字符編碼?ASCII字母、數(shù)字、~!*() 另外還可以使用escape()對字符串進行編碼。 2,Tomcat服務器。

 ? ?Tomcat會使用默認字符編碼“ISO-8859-1”對URL參數(shù)進行解碼。可以通過server.xml文件修改字符集編碼:

  <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

3,應用

  可以通過使用java.net.URLDecoder與java.net.URLEncoder、或者指定字符集編碼重新構造String對象。

?

一種保守的處理方法:對URL參數(shù)進行Base64編碼、解碼。

前端

$.ajax({url: "${ctx}/****?key="+encodeURIComponent(new Base64().encode(id)),type: 'GET',dataType: 'json'}).done(function (data) {if (data.success) {$this.attr("href",data.code);}});

?后臺

key = new String(Base64.decodeBase64(key));

  

  

轉(zhuǎn)載于:https://www.cnblogs.com/hf-china/p/9040899.html

總結(jié)

以上是生活随笔為你收集整理的Http请求url参数字符集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。