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 久久久久久久久久免观看,亚洲高清自拍,二区三区在线

          整合營銷服務(wù)商

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

          免費(fèi)咨詢熱線:

          HTML URL編碼

          RL也被稱為網(wǎng)址。

          URL 可以由單詞組成,比如 "w3school.com.cn",或者是因特網(wǎng)協(xié)議(IP)地址:192.168.1.253。

          大多數(shù)人在網(wǎng)上沖浪時(shí),會(huì)鍵入網(wǎng)址的域名,因?yàn)槊Q比數(shù)字容易記憶。

          URL(Uniform Resource Locator)

          當(dāng)您點(diǎn)擊 HTML 頁面中的某個(gè)鏈接時(shí),對(duì)應(yīng)的<a>標(biāo)簽指向萬維網(wǎng)上的一個(gè)地址。

          統(tǒng)一資源定位器(URL)用于定位萬維網(wǎng)上的文檔(或其他數(shù)據(jù))。

          網(wǎng)址,比如 http://www.w3school.com.cn/html/index.asp,遵守以下的語法規(guī)則:

          scheme://host.domain:port/path/filename

          解釋:

          scheme 定義因特網(wǎng)服務(wù)的類型。最常見的類型是 http

          host 定義域主機(jī)(http 的默認(rèn)主機(jī)是 www)

          domain 定義因特網(wǎng)域名,比如 w3school.com.cn

          :port 定義主機(jī)上的端口號(hào)(http 的默認(rèn)端口號(hào)是 80)

          path 定義服務(wù)器上的路徑(如果省略,則文檔必須位于網(wǎng)站的根目錄中)。

          filename 定義文檔/資源的名稱

          編者注:URL 的英文全稱是 Uniform Resource Locator,中文也譯為"統(tǒng)一資源定位符"。

          URL Schemes

          以下是其中一些最流行的 scheme:

          Scheme 訪問 用于...

          http 超文本傳輸協(xié)議 以 http:// 開頭的普通網(wǎng)頁。不加密。

          https 安全超文本傳輸協(xié)議 安全網(wǎng)頁。加密所有信息交換。

          ftp 文件傳輸協(xié)議 用于將文件下載或上傳至網(wǎng)站。

          file 您計(jì)算機(jī)上的文件。


          URL編碼

          URL只能使用ASCII字符集來通過因特網(wǎng)進(jìn)行發(fā)送。

          由于URL常常會(huì)包含ASCII集合之外的字符,URL 必須轉(zhuǎn)換為有效的ASCII格式。

          URL編碼使用"%"其后跟隨兩位的十六進(jìn)制數(shù)來替換非ASCII字符。

          URL不能包含空格。URL編碼通常使用+來替換空格。


          URL編碼表參考

          http://www.w3school.com.cn/tags/html_ref_urlencode.html

          頁 URL 中的特殊字符 “空格” 問題

          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ì)被瀏覽器解碼出來給用戶看到:

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

          網(wǎng)頁截圖:

          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ì)被瀏覽器解碼出來給用戶看到:

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

          網(wǎng)頁截圖:

          3、解決空格的問題

          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ì)被瀏覽器解碼出來給用戶看到:

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

          網(wǎng)頁截圖:

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

          2、問題解決的原因

          從上面的案例可以看到,如果 url 中有空格出現(xiàn),且不經(jīng)過特殊處理,那么將會(huì)導(dǎo)致瀏覽器無法正確解析 url,從而導(dǎo)致 url 重定向失敗,那么問題的原因是什么呢?首先來看一下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 等。表示資源訪問需使用何種協(xié)議;
          • 服務(wù)器名稱:表示要訪問的服務(wù)器主機(jī)名或 IP 地址;
          • 端口(可選):服務(wù)器使用的端口號(hào),如 http 默認(rèn)的端口是 80,https 默認(rèn)的端口是443,如果省略則使用該協(xié)議的默認(rèn)端口;
          • 路徑:表示服務(wù)器上具體資源的路徑信息:例如“/index.html”;
          • 查詢參數(shù)(可選):路徑后加問號(hào)開頭的查詢字符串,用于傳遞額外的參數(shù),如”?id=123”;
          • 錨點(diǎn)(可選):鏈接內(nèi)的超鏈接錨點(diǎn)定位,例如“#content”;
            • HTTP請(qǐng)求不包括#
            • #是用來指導(dǎo)瀏覽器動(dòng)作的,針對(duì)瀏覽器起作用,對(duì)服務(wù)器端完全無用
            • 訪問http://www.example.com/index.html#print,瀏覽器實(shí)際發(fā)出的請(qǐng)求只是請(qǐng)求index.html,沒有"#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ā)頁面重載
            • 改變#后面的參數(shù)會(huì)改變?yōu)g覽器的訪問歷史
          • 用戶名密碼(可選):用于基礎(chǔ)的 HTTP 認(rèn)證的用戶名和密碼;

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

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

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

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

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

          版規(guī)則

          縮進(jìn)

          使用2個(gè)空格縮進(jìn)

          <ul>
            <li>Fantastic</li>
            <li>Great</li>
          </ul>
          .example {
            color: blue;
          }

          大小寫

          只允許使用小寫。

          所有的代碼都用小寫字母:適用于元素名,屬性,屬性值(除了文本和CDATA), 選擇器,特性,特性值(除了字符串)。

          <!-- 不推薦 -->
          <A HREF="/">Home</A>
          <!-- 推薦 -->
          <img src="google.png"
          alt="Google">

          行為空格

          建議刪除行尾白空格。

          <!-- 不推薦 -->
          <p>What?  </p>
          <!-- 推薦 -->
          <p>Yes please.</p>

          常規(guī)Meta規(guī)則

          編碼

          如果沒有特殊需求,一般采用utf-8編碼。如果是cms站點(diǎn),則遵守該站點(diǎn)的編碼規(guī)則。

          <!-- 網(wǎng)頁編碼 -->
          <meta charset="utf-8">

          注釋

          盡可能的去解釋你寫的代碼。說明該代碼包括什么、目的是什么、能做什么、為什么使用它等。

          注釋是否需要詳盡,取決于項(xiàng)目的復(fù)雜程度。

          一般單行注釋:

          <!-- col -->

          模塊間注釋:

          <!-- news -->
          <div class="news">
            <h2>News</h2>
            <p>...</p>
          </div>
          <!--/ news -->

          循環(huán)注釋:

          <ul>
            <!-- loop: new list -->
            <li>new's title 1</li>
            <li>new's title 2</li>
            <li>new's title 3</li>
            <li>new's title 4</li>
            <li>new's title 5</li>
            <!-- /loop: new list -->
          </ul>

          cms輸出注釋:

          <!-- cms: news list -->
          <ul>
            <li>new's title 1</li>
            <li>new's title 2</li>
            <li>new's title 3</li>
            <li>new's title 4</li>
            <li>new's title 5</li>
          </ul>
          <!-- /cms: news list -->

          Tab選項(xiàng)卡內(nèi)容注釋:

          <!-- tab: news list -->
          <div class="tab"></div>
          <!-- /tab: news list -->

          常規(guī)HTML設(shè)計(jì)規(guī)則

          文檔類型

          使用html5文檔聲明,不再使用XHTML(application/xhtml+xml)。

          HTML5是目前所有HTML文檔類型中的首選:

          <!DOCTYPE html>

          HTML 的正確性

          編寫有效、正確的HTML代碼,否則很難達(dá)到性能上的提升。

          可以使用一些工具驗(yàn)證你的代碼,如 W3C HTML validator

          HTML 的語義性

          根據(jù)HTML各個(gè)元素的用途而去使用它們。

          <!-- 不推薦 -->
          <div class="col">
            <div class="title">
          news</div>
            <p>list1</p>
            <p>list2</p>
            <p>list3</p>
          </div>
          <!-- 推薦 -->
          <div class="col">
            <h2 class="title">
          news</h2>
            <p>list1</p>
            <p>list2</p>
            <p>list3</p>
          </div>

          部分標(biāo)簽說明:

          • div 主要用于布局,分割頁面的結(jié)構(gòu);
          • ul/ol 主要用于無序/有序列表;
          • dl/dt/dd 當(dāng)頁面中出現(xiàn)第一行為類似標(biāo)題/簡(jiǎn)述,然后下面為詳細(xì)描述的內(nèi)容時(shí)應(yīng)該使用該標(biāo)簽;
          • span 沒有特殊的意義,可以用作排版的輔助,然后在css中定義span;
          • h1-h6 標(biāo)題, 根據(jù)重要性依次遞減;
          • h1 最重要的標(biāo)題;
          • label 使表單更有親和力而且能輔助表單排版;

          不推薦使用的標(biāo)簽:

          • font 文字的外觀,大小和顏色;
          • u 文本下劃線;
          • center 居中對(duì)齊;
          • s 刪除線;
          • strike 刪除線;
          • noframes 無視框時(shí)的內(nèi)容;
          • iframe 定義嵌入視圖;
          • isindex 不建議使用(可搜尋,使用input代替);
          • dir 目錄式列舉;
          • menu 菜單列表;
          • basefont 定義基本字體;
          • applet 定義java程序;
          • frame 定義個(gè)別視框;
          • frameset 視框格式總定義;

          多媒體元素降級(jí)處理

          給多媒體元素,比如canvas、videos、 images增加alt屬性,提高可用性(特別是常用的img標(biāo)簽,盡可量得加上alt屬性,提供圖片的描述信息)。

          <!-- 不推薦 -->
          <img src="world.jpg">
          <!-- 推薦 -->
          <img src="world.jpg"
          alt="our world images">

          type屬性

          在樣式表和腳本的標(biāo)簽中忽略type屬性。

          HTML5默認(rèn)type為text/css和text/javascript類型,所以沒必要指定。即便是老瀏覽器也是支持的。

          <!-- 不推薦 -->
          <link rel="stylesheet"
           href="//www.google.com/css/maia.css"
           type="text/css">
          <script src="
           //www.google.com/
           js/gweb/analytics/autotrack.js"
           type="text/javascript">
           </script>
          <!-- 推薦 -->
          <link rel="stylesheet"
           href="//www.google.com/css/maia.css">
          <script src="
           //www.google.com/
           js/gweb/analytics/autotrack.js">
           </script>

          HTML代碼格式規(guī)則

          每個(gè)塊元素、列表元素或表格元素都獨(dú)占一行,每個(gè)子元素都相對(duì)于父元素進(jìn)行縮進(jìn)。按設(shè)計(jì)稿劃分模塊,盡量使頁面模塊化,模塊與模塊之前要有清晰的注釋。

          如上面頁面框架,推薦寫法:

          <!-- hader -->
          <div class="header">header</div>
          <!-- /hader -->
          <!-- nav -->
          <div class="nav">nav</div>
          <!-- /nav -->
          <!-- main -->
          <div class="main">
            <!-- container -->
            <div class="container">
              <!--news-->
              <div class="news">
                <h2>news<h2>
                <p>...</p>
              </div>
              <!--news-->
            </div>
            <!--/container-->
            <!--sidebar-->
            <div class="sidebar">
          sidebar</div>
            <!--sidebar-->
          </div>
          <!--/main-->
          <!--footer-->
          <div class="footer">
          footer</div>
          <!--/footer-->

          HTML與SEO

          頁面良好層次

          保證整個(gè)頁面在未加載樣式表時(shí)仍有較好的層次清晰的頁面結(jié)構(gòu)。

          <!-- 不推薦 -->
          <div class="logo">My Site</div>
          <div class="nav">
            <a href="#">Home</a>
            <a href="#">News</a>
            <a href="#">Mobile</a>
          </div>
          <div class="news">
            <div>News</div>
            <a href="#">
          news list 1</a>
            <a href="#">
          news list 2</a>
            <a href="#">
          news list 3</a>
          </div>
          <!-- 推薦 -->
          <h1 class="logo">My Site</h1>
          <ul class="nav">
            <li><a href="#">
          Home</a></li>
            <li><a href="#">
          News</a></li>
            <li><a href="#">
          Mobile</a></li>
          </ul>
          <div class="news">
            <h2>News</h2>
            <ul>
              <li><a href="#">
          news list 1</a>
          </li>
              <li><a href="#">
          news list 2</a>
          </li>
              <li><a href="#">
          news list 3</a>
          </li>
            </ul>
          </div>

          權(quán)重標(biāo)簽使用

          H標(biāo)簽使用

          • h1 權(quán)重高,體現(xiàn)當(dāng)前網(wǎng)頁中相對(duì)比較重要的信息,但不宜過多,建議一個(gè)頁面只放一個(gè);
          • h2 可以做副標(biāo)題;
          • h3 可以做新聞列表;
          • h4-h6 可做相關(guān)新聞的列表標(biāo)簽屬性完整;

          strong、b使用

          將需要加粗的文字使用b標(biāo)簽來顯示。

          將需要強(qiáng)調(diào)的文字(主要指包含關(guān)鍵詞的信息)使用strong標(biāo)簽來強(qiáng)調(diào)主要內(nèi)容。

          注:b是粗體標(biāo)簽,屬于實(shí)體標(biāo)簽,它所包圍的字符將被設(shè)為bold(粗體);strong 是加重語氣標(biāo)簽,屬于邏輯標(biāo)簽,它的作用是加強(qiáng)字符語氣。

          標(biāo)簽屬性使用

          在很多情況下,a都要使用title來說明該鏈接的相關(guān)說明或目的意義。

          例如:當(dāng)使用overflow隱藏掉a中的溢出文字時(shí),該a中的title是必不可少的,它可以告訴用戶被隱藏掉的文字內(nèi)容是什么;又或者當(dāng)一個(gè)圖片型鏈接出現(xiàn)時(shí),該a中的title同樣是必不可少的,它可以告訴用戶這個(gè)圖片鏈接是做什么用的。

          注:僅在img里添加alt標(biāo)簽在火狐提示文字是出不來的,alt是圖片加載失敗或未加載完全時(shí)顯示出來的提示文字,要想鼠標(biāo)移上去顯示提示信息應(yīng)該用title,嚴(yán)謹(jǐn)?shù)膶懛ㄊ莍mg里加入alt和title這兩個(gè)標(biāo)簽。

          精簡(jiǎn)代碼

          代碼保持精簡(jiǎn),最優(yōu)化,這樣搜索引擎才更喜歡。


          主站蜘蛛池模板: 无码日韩AV一区二区三区| 国产色欲AV一区二区三区| 成人精品一区二区激情| 久久国产午夜精品一区二区三区 | 在线免费一区二区| 成人国产一区二区三区| 成人精品视频一区二区| 国偷自产av一区二区三区| 日韩成人无码一区二区三区 | 精品国产一区AV天美传媒| 久久无码人妻精品一区二区三区| 天堂Av无码Av一区二区三区| 久久免费区一区二区三波多野| 亚洲欧洲一区二区三区| 精品在线一区二区三区| 国产精品区一区二区三| 日本一区二区三区免费高清| 国产精品自拍一区| 亚洲国产成人久久一区二区三区 | 日本精品一区二区在线播放| 杨幂AV污网站在线一区二区| 亚洲国产一区二区三区青草影视| 国产伦精品一区二区三区女| 国产精品一区二区三区免费| 欧洲无码一区二区三区在线观看| 免费看AV毛片一区二区三区| 亚洲啪啪综合AV一区| 无码日韩人妻av一区免费| 久久国产精品免费一区二区三区 | 狠狠爱无码一区二区三区| 国偷自产av一区二区三区| 午夜一区二区在线观看| 人妻AV中文字幕一区二区三区| 亚洲第一区视频在线观看| 亚洲一区二区三区深夜天堂| 亚洲熟女乱色一区二区三区| 美日韩一区二区三区| 国产精品毛片一区二区| 国产成人一区二区三区视频免费 | 免费视频一区二区| 午夜影视日本亚洲欧洲精品一区|