httping 測試網站的 Latency 和 Throughput

想查看某個 IP 是否活著,或者 ICMP 的回應時間,可以使用 ping,但是 Web Server 也想要 ping 可以怎麼做呢?

閱讀全文〈httping 測試網站的 Latency 和 Throughput〉

將 \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 的解法〉

CURL 於 CLI 顯示 TCP、SSL 的連線時間

Linux 於 CLI 使用 CURL 想要測試看看網站的詳細連線速度,要怎麼做呢?

註:此篇「httpstat 分析 從 DNS查詢 到 下載完成各個階段的處理時間」也是使用 CURL 類似做法達成的,此篇是更簡化的版本。

閱讀全文〈CURL 於 CLI 顯示 TCP、SSL 的連線時間〉