HTTP 狀態決策樹 的圖表

網頁打開連到某個網站,可以看到正常的內容,這個 HTTP Status code 是 200,沒有秀在頁面上。

但是偶爾會看到整頁白底,但是上面寫 400、403、500,或者畫面比較好看的 404 此頁面找不到 等等,那些是什麼呢?

那些數字有什麼意義?是怎麼判斷的呢?

閱讀全文〈HTTP 狀態決策樹 的圖表〉

將 \x 開頭編碼的資料使用 HTTP POST 傳送與接收

\x 開頭編碼是 16進位的數字,可以直接轉成一般文字輸出,可詳見此篇:將 \x 開頭編碼的資料轉成中文輸出

但是想要將 \x 於 html input / textarea 傳送,再用 $_GET、$_POST 等接收 並且做轉換,要怎麼做呢?

閱讀全文〈將 \x 開頭編碼的資料使用 HTTP POST 傳送與接收〉

瀏覽器 如何列出網頁 非 https 的內容

現在使用 Firefox、Chrome 等瀏覽器,https 的頁面都會顯示綠色標章,而 https 網頁裡面有包含 http 的內容,就會顯示不安全等等的訊息(註1),要怎麼找出是哪些內容不安全呢?

簡單說,就是如何找出目前 https 的網頁,哪些內容(網址)還是 http 的。(註2)

閱讀全文〈瀏覽器 如何列出網頁 非 https 的內容〉

HTTP/3 協定出爐

HTTP/3 (h3) 的協定決定了,跟 HTTP/1.x 和 HTTP/2 很大的不同在於,HTTP 1.x 和 HTTP2 都走在 TCP 上,而 HTTP3 會走在 QUIC (UDP) 上。

  • 註1:HTTP/3 的 QUIC 非 Google 的 QUIC
  • 註2:以往 iptables 都開 443/tcp,以後可能會需要多開 443/udp 囉~

HTTP 版本演進

  1. 1999: HTTP/1.1
  2. 2015: HTTP/2
  3. 2019: HTTP/3

閱讀全文〈HTTP/3 協定出爐〉

Golang 使用 mux 做 router 遇到 %2F、%0A 的解法

Go 想要做 REST API 或者要對 router、dispatcher 等等的處理,可以使用 mux 的套件。

不過 mux 的套件在 GET 資料,若內容有 "/" 就是 %2F 的話,程式會直接給 404,程式就直接結束,無法處理,要怎麼解決這個問題呢?

  • 註:%0A 是換行字元

閱讀全文〈Golang 使用 mux 做 router 遇到 %2F、%0A 的解法〉