Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产成人高清视频免费播放,国产女同真实视频在线观看,一国产大片在线观看

          整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢(xún)熱線(xiàn):

          Html中的空格

          (半角的不斷行的空白格)


            (半角的空格)


            (全角的空格)

          擊右上方紅色按鈕關(guān)注“小鄭搞碼事”,每天都能學(xué)到知識(shí),搞懂一個(gè)問(wèn)題!

          由于HTML代碼的空格通常會(huì)被瀏覽器忽略,所以我們很有必要對(duì)瀏覽器處理空格的一些規(guī)則有個(gè)詳細(xì)的認(rèn)識(shí),這樣我們后面才能詳述它的解決辦法。

          一、默認(rèn)規(guī)則

          效果是這樣的:

          由此可此可以知道瀏覽器的默認(rèn)處理規(guī)則一:文字的前后空格都會(huì)忽略,內(nèi)部連續(xù)空格只有自作一個(gè)。

          原樣輸出可能是我們這樣寫(xiě)代碼的本意,要讓這段代碼原樣輸出的方法有兩個(gè)(使用標(biāo)簽/使用表示空格的實(shí)體代碼):

          方法一:<pre><span class="space"> 小鄭 搞碼 </span></pre>

          方法二:<span class="space"> 小鄭 搞碼 </span>

          二、另一個(gè)規(guī)則

          關(guān)于規(guī)則部分還有一點(diǎn),來(lái)看一段代碼:

          效果是:

          表示,瀏覽器對(duì)字符的處理不僅限于空格,還有制表符(\t),換行符(\r和\n)。

          同樣讓這段代碼換行可能是我們寫(xiě)的本意,讓這段代碼換行的方法有兩個(gè):

          方法一:套一個(gè)pre標(biāo)簽

          方法二:<span class="space">小鄭<br/>搞碼</span>

          最后總結(jié)一下:

          HTML語(yǔ)言的空格處理,基本上就是直接過(guò)濾。這樣的處理過(guò)于粗糙,完全忽視了原始文本內(nèi)部的空格可能是有意義的。所以CSS提供了一個(gè)屬性white-space屬性來(lái)靈活控制空格。下篇詳述。

          頁(yè) URL 中的特殊字符 “空格” 問(wèn)題

          Java 代碼案例

          1、將一段內(nèi)容和接口拼接成 URL 鏈接

          代碼示例

          java復(fù)制代碼public static String generateContent(String content) {
                // 將 content 進(jìn)行 url 編碼
                String ans;
                try {
                    ans = URLEncoder.encode(content, "UTF-8");
                } catch (UnsupportedEncodingException e) {
                    // 處理異常情況
                    throw new RuntimeException(e);
                }
          
                return ans;
          }
          

          1、不帶空格的處理

          java復(fù)制代碼public static void main(String[] args) {
              String baseUrl = "https://example.com/resource?a=";
              String content = "小黑";
              String ansUrl = baseUrl + generateContent(content);
              System.out.println("最終生成的 URL 的值為:" + ansUrl);
          }
          

          運(yùn)行結(jié)果:

          perl復(fù)制代碼https://example.com/resource?a=%E5%B0%8F%E9%BB%91
          

          粘貼到瀏覽器上會(huì)被瀏覽器解碼出來(lái)給用戶(hù)看到:

          ini復(fù)制代碼example.com/resource?a=小黑
          

          網(wǎng)頁(yè)截圖:

          2、帶有空格的處理

          java復(fù)制代碼public static void main(String[] args) {
              String baseUrl = "https://example.com/resource?a=";
              String content = "小 黑";
              String ansUrl = baseUrl + generateContent(content);
              System.out.println("最終生成的 URL 的值為:" + ansUrl);
          }
          

          運(yùn)行結(jié)果:

          perl復(fù)制代碼https://example.com/resource?a=%E5%B0%8F+%E9%BB%91
          

          粘貼到瀏覽器上會(huì)被瀏覽器解碼出來(lái)給用戶(hù)看到:

          ini復(fù)制代碼https://example.com/resource?a=小+黑
          

          網(wǎng)頁(yè)截圖:

          3、解決空格的問(wèn)題

          java復(fù)制代碼public static String generateContent(String content) {
                // 將 content 進(jìn)行 url 編碼
                String ans;
                try {
          					// -----------------------調(diào)整-----------------------
                    ans = URLEncoder.encode(content, "UTF-8").replace("+", "%20");
                } catch (UnsupportedEncodingException e) {
                    // 處理異常情況
                    throw new RuntimeException(e);
                }
          
                return ans;
          }
          
          public static void main(String[] args) {
              String baseUrl = "https://example.com/resource?a=";
              String content = "小 黑";
              String ansUrl = baseUrl + generateContent(content);
              System.out.println("最終生成的 URL 的值為:" + ansUrl);
          }
          

          運(yùn)行結(jié)果:

          perl復(fù)制代碼https://example.com/resource?a=%E5%B0%8F%20%E9%BB%91
          

          粘貼到瀏覽器上會(huì)被瀏覽器解碼出來(lái)給用戶(hù)看到:

          ini復(fù)制代碼https://example.com/resource?a=小 黑
          

          網(wǎng)頁(yè)截圖:

          其中 %20 是空格經(jīng)過(guò)編碼后的結(jié)果

          2、問(wèn)題解決的原因

          從上面的案例可以看到,如果 url 中有空格出現(xiàn),且不經(jīng)過(guò)特殊處理,那么將會(huì)導(dǎo)致瀏覽器無(wú)法正確解析 url,從而導(dǎo)致 url 重定向失敗,那么問(wèn)題的原因是什么呢?首先來(lái)看一下URL的組成部分

          1、URL 的組成部分

          下面是一個(gè)簡(jiǎn)單的 URL 鏈接:

          bash復(fù)制代碼http://localhost:8080/path/to/index.html?id=123#content

          它主要有下面幾個(gè)部分組成

          • 協(xié)議:URL 的網(wǎng)絡(luò)傳輸協(xié)議,如 http、https、ftp 等。表示資源訪(fǎng)問(wèn)需使用何種協(xié)議;
          • 服務(wù)器名稱(chēng):表示要訪(fǎng)問(wèn)的服務(wù)器主機(jī)名或 IP 地址;
          • 端口(可選):服務(wù)器使用的端口號(hào),如 http 默認(rèn)的端口是 80,https 默認(rèn)的端口是443,如果省略則使用該協(xié)議的默認(rèn)端口;
          • 路徑:表示服務(wù)器上具體資源的路徑信息:例如“/index.html”;
          • 查詢(xún)參數(shù)(可選):路徑后加問(wèn)號(hào)開(kāi)頭的查詢(xún)字符串,用于傳遞額外的參數(shù),如”?id=123”;
          • 錨點(diǎn)(可選):鏈接內(nèi)的超鏈接錨點(diǎn)定位,例如“#content”;
            • HTTP請(qǐng)求不包括#
            • #是用來(lái)指導(dǎo)瀏覽器動(dòng)作的,針對(duì)瀏覽器起作用,對(duì)服務(wù)器端完全無(wú)用
            • 訪(fǎng)問(wèn)http://www.example.com/index.html#print,瀏覽器實(shí)際發(fā)出的請(qǐng)求只是請(qǐng)求index.html,沒(méi)有"#print"部分。
            • 位于#后面的字符都是位置標(biāo)識(shí)符
            • 在第一個(gè)#后面出現(xiàn)的任何字符,都會(huì)被瀏覽器解讀為位置標(biāo)識(shí)符。 這意味著,這些字符都不會(huì)被發(fā)送到服務(wù)器端。
            • 在URL中指定一個(gè)顏色值 http://www.example.com/?color=#fff 但瀏覽器實(shí)際發(fā)出的請(qǐng)求是"#fff"被省略了。只有將#轉(zhuǎn)碼為%23,瀏覽器才會(huì)將其作為實(shí)義字符處理。http://example.com/?color=%23fff
            • 改變#后面的參數(shù)不會(huì)觸發(fā)頁(yè)面重載
            • 改變#后面的參數(shù)會(huì)改變?yōu)g覽器的訪(fǎng)問(wèn)歷史
          • 用戶(hù)名密碼(可選):用于基礎(chǔ)的 HTTP 認(rèn)證的用戶(hù)名和密碼;

          2、URL 編碼中遵循的規(guī)則

          在 URL 編碼過(guò)程中,會(huì)遵循以下的規(guī)則:

          • 空格:替換成 + (%20)
          • /:分割目錄和子目錄
          • ?:分割 URL 和查詢(xún)
          • %:指定特殊字符
          • #:指定書(shū)簽 (%23)
          • &:指定分隔參數(shù) (%26)
          • =:指定參數(shù)的值(%3D)

          3、為何 URL 中不允許包含空格和部分特殊字符

          • URL 作為資源定位符,它需要保證各個(gè)組成部分(協(xié)議、主機(jī)名、端口、路徑等)之間使用統(tǒng)一的分隔符,通常采用斜線(xiàn)"/"。如果直接使用空格,很難區(qū)分路徑中的空格與路徑之間的分隔;
          • 早期URL標(biāo)準(zhǔn)沒(méi)有規(guī)定如何處理空格等特殊字符,直接包含空格可能導(dǎo)致解析或匹配時(shí)產(chǎn)生歧義;
          • 例如:http://www.example.com/products/product name.html
          • 當(dāng)瀏覽器在解析這個(gè) URL 的時(shí)候,可能就會(huì)產(chǎn)生下面的歧義問(wèn)題:
          • 1、是否應(yīng)該解析為兩個(gè)路徑組件"products/product"和"name.html”
          • 2、搜索引擎或其他系統(tǒng)進(jìn)行URL匹配檢索時(shí),不清楚空格是否應(yīng)該作為路徑分隔符來(lái)匹配; 3、攻擊者可以構(gòu)造歧義URL,利用空格來(lái)規(guī)避安全機(jī)制或進(jìn)行異常操作;
          • 包含空格特殊字符可能會(huì)破壞URL本身結(jié)構(gòu)或?qū)е掳踩珕?wèn)題;
          • 包含空格可能導(dǎo)致傳輸或存儲(chǔ)時(shí)產(chǎn)生問(wèn)題。例如傳輸過(guò)程中空格是否需要編碼等問(wèn)題沒(méi)有明確規(guī)定

          主站蜘蛛池模板: 夜夜高潮夜夜爽夜夜爱爱一区| 成人国产精品一区二区网站公司| 国产一区二区高清在线播放| 国产一区二区三区小向美奈子 | 日韩精品人妻av一区二区三区| 国产精品亚洲专区一区| 国产伦精品一区二区三区免.费| 亚洲国产成人久久一区久久| 精品乱子伦一区二区三区高清免费播放| 精品伦精品一区二区三区视频| 亚洲av无码不卡一区二区三区| 国产91久久精品一区二区| 国产AV天堂无码一区二区三区| 中文字幕一区二区三区永久| 久久99国产精一区二区三区| 久久精品国内一区二区三区| 亚洲第一区精品日韩在线播放| 亚洲AV无码第一区二区三区| 亚洲高清一区二区三区电影| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 午夜无码一区二区三区在线观看| 精品一区二区无码AV| 无码少妇一区二区性色AV| 亚洲精品伦理熟女国产一区二区 | 亚洲成av人片一区二区三区| 91成人爽a毛片一区二区| 国产人妖视频一区二区破除| 国产精品特级毛片一区二区三区| 精品国产一区二区麻豆| 红桃AV一区二区三区在线无码AV | 久久婷婷色综合一区二区| 久久精品黄AA片一区二区三区| 在线视频亚洲一区| 亚洲av无码一区二区三区乱子伦 | 免费国产在线精品一区| 亚洲一区二区三区91| 一本大道东京热无码一区 | 一区在线观看视频| 中文字幕日韩欧美一区二区三区 | 麻豆国产在线不卡一区二区| 色妞色视频一区二区三区四区|