> For the complete documentation index, see [llms.txt](https://brianwu.gitbook.io/brian/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://brianwu.gitbook.io/brian/brians-za-ji/http.md).

# HTTP

參考資料:(<http://www.pcnet.idv.tw/pcnet/html/17.htm>)

## 顯示及排列中文

```
<META http-equiv="Content-Type" content="text/html;charset=big5">
```

說明： Content-Type==>文件內容格式 ;==>CONTENT內要作的每件事" "，分別以分號區隔 text/html==>純文字/超文字 charset==>字元組為中文繁體大五碼，如用iso-2022-jp是指日文

## 讓搜尋引擎容易找到你

```
<META NAME="KeyWords" CONTENT="電腦教學'網路教學'Linux教學">
<META NAME="KeyWords" CONTENT="css'HomePage'html">
```

說明：網頁內文關鍵字，可使用中、英文均可

## 關於網站的內容描述

```
<META NAME="Description" CONTENT="這是一個網路學習的好地方">
```

說明：Description==>內容的主要描述

## 這個網站的作者是誰

```
<META NAME="Author" CONTENT="Brian">
```

說明：標註本網頁作者姓名等資料

## 這是用何編輯器完成的網頁

```
<META NAME="Generator" CONTENT="Mozilla/3.0Gold(Win95)[Netscape]">
```

說明： 標註本網頁作者姓名等資料 Generator==>編輯器 Mozilla/3.0Gold(Win95)\[Netscape]==>編輯器等版本說明

## 這個網頁何時完成

```
<META NAME="Creation-Date" CONTENT="01-jan-2003 20:40:01">
```

說明： Creation-Date==>創作日期 01-jan-2003 20:40:01==>詳細日期時間

## 這個網頁有效時期及不被Cache所限制

```
<META NAME="Expired" CONTENT="01-jan-2003 00:00:00">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
```

說明： Expired==>網頁終止期限 01-jan-2005 00:00:00==>已過去的日期時間，也可以用Mon,12 Jan 2007 00:00:00 GMT no\_cache==>不被Cache所限制，也就是網頁沒有記憶功能。

## 網頁作者的網址與信箱

```
<link rev="made" href="mailto:pcnettw@yahoo.com.tw">
<link rev="made" href="http://www.pcnet.idv.tw/">
```

說明：網頁作者信箱或網址陳述 rev==>正向關聯 made=>網頁製造者 href==>您的信箱或網址

## 使網頁能自動換頁

```
<META HTTP-EQUIV="refresh" CONTENT="15; url=http://www.pcnet.idv.tw/">
```

說明： refresh==>更新或重整 15==>15秒後執行下一動作 ;==>CONTENT內要作的每件事" "，分別以分號區隔 url=[http://www.pcnet.idv.tw/==>指定轉換到此網頁](http://www.pcnet.idv.tw/==>指定轉換到此網頁)

## 進入或離開的特效(限IE使用)

```
<META http-equiv="指定要換頁特效發生的狀況" content="特效模式(Duration=特效持續時間,Transition=代替的特效)">
```

說明： http-equiv="Page-Enter是進入本頁、Page-Exit是離開本頁、Site-Enter是進入本站、Site-Exit是離開本站"。 content="revealTrans(指定換頁特效)、blendTrans(設定換頁特效為"混合")。 Duration=設定特效持續的時間(秒)，建議在3-5秒之間。 Transition=以0-23代替特效(略)。

## 備註

1.它必須放於與之間，主要用於本網頁的內容說明，以利自己或別人(搜索引擎)使用，另外也可以製造出一些自動翻頁等特殊效果。 2.http-equiv或NAME屬性，必須配合content屬性使用，兩者也可互替使用。 3.後設語法標籤(META description tag)的用法隨各搜索引擎設定有所不同。 4.有無Meta標籤，並不影響網頁正常顯示，其最大目的在於提供網頁各種資訊及產生特殊效果。 5.網頁運用，建議以本頁所述1.2.3.4.8項這些標籤為主，其餘視況自行增減。 6.您可使用檢視原始碼，來看本例實際安排。 7.更多的報導資料，歡迎蒞臨講師(作者)網站查看。

## HTTP 參照位址 (HTTP referer)

正確拼法應該是 referrer，但是早期的HTTP規範拼寫錯誤，造成積非成是，為了保持向下相容就將錯就錯了。

referer 是 HTTP 表頭的一個欄位，用來表示從哪裡連到現在這個網頁。 格式為 URL 這通常被拿來對付偽造的跨網站請求。

一個Request 包含 QueryString 和 form 的部分

QueryString 的部分，會另外 URL encode 至於下面 String area 的部分，就端看編碼方式，現在大部分都是 UTF-8 編碼

這一整個 Request 會再用 ISOXXXX 去做編碼後，再去傳輸 不過這部分通常是系統跟伺服器會做掉 所以除非要自己寫一個 Tomcat，不然應該不用考慮這一層編碼的事情。

```
System.out.println("new String(word.getBytes(" + decoding + ")," + encoding + ") = " + new String(word.getBytes(decoding), encoding));

        System.out.println("URLDecoderUtil.decode(word," + decoding + ") = " + URLDecoderUtil.decode(word, decoding));
        System.out.println("URLDecoder.decode(word, " + decoding + ") = " + URLDecoder.decode(word, decoding));
        System.out.println("URLDecoderUtil.decode(word," + encoding + ") = " + URLDecoderUtil.decode(word, encoding));
        System.out.println("URLDecoder.decode(word, " + encoding + ") = " + URLDecoder.decode(word, encoding));

        System.out.println("URLDecoderUtil.decode(word," + encoding + ") = " + URLDecoderUtil.decode(new String(word.getBytes(encoding), encoding), encoding));
        System.out.println("URLDecoder.decode(word, " + encoding + ") = " + URLDecoder.decode(new String(word.getBytes(encoding), encoding), encoding));
        System.out.println("new String(word.getBytes(" + decoding + ")," + encoding + ") = " + new String(URLDecoderUtil.decode(word, encoding).getBytes(encoding), encoding));
        System.out.println("new String(word.getBytes(" + decoding + ")," + encoding + ") = " + new String(URLDecoder.decode(word, encoding).getBytes(encoding), encoding));
        System.out.println("new String(word.getBytes(" + decoding + ")," + encoding + ") = " + new String(URLDecoder.decode(word, encoding).getBytes(encoding), encoding));
```
