[Arduino] 不可不知的應用:Web Server
[Arduino]
不可不知的應用:Web Server
Web Server 的基本運作
Web server 的基本運作是一個你我常做的一個情境,或甚至你目前就是在這樣的情境中觀看著我的文章。
如下面圖示,當你點擊打開一個網頁時,事實上,就是透過你電腦或手機上的Browser 向你連接上的Web Server 要求某一個網頁的內容 (綠色),接著Web Server 則是透過 HTTP protocol 將你要求的網頁內容傳送給你電腦或手機上的Browser(藍色);這樣一來一回的訊息傳送就是Web Server 的基本運作。
接下來,我就簡單的說明,在撰寫Web Server 程式碼時,必須要知道幾項預備知識。
Protocol
當你在瀏覽下面這網頁時https://www.sam4sharing.com/2020/05/arduino-max6675.html
事實上Browser 正利用 HTTP 協定 ( Hyper Text Transfer Protocol ) 和Web Server 溝通並取得網頁。
PS:HTTPS ( ( Hyper Text Transfer Protocol Secure )
Server Name / IP Address
https://www.sam4sharing.com/2020/05/arduino-max6675.html
想要搞清楚Server Name / IP Address請參考
沒興趣沒時間的,可以簡單將“www.sam4sharing.com”, 這段字串視為就是 Web Server 網址。
網頁 / File Name
有了溝通方式 – HTTP,也有了網址,接著就是網頁了;https://www.sam4sharing.com/2020/05/arduino-max6675.html”
“2020/05/arduino-max6675.html”就是網頁,或說是Browser 要取得 File Name。
Ports
一個伺服器 ( Server ) 通常同時存在多種應用,也就說,可能存在著 Web Server的服務,也同時提供 FTP Server 的功能;
https://www.sam4sharing.com/2020/05/arduino-max6675.html
上面只含 “HTTP”,”IP Address” ,”File Name”的這樣字串,就不夠了,這時就必須再增加 Port的資訊。
以下就是各種服務( Services ), Port一般的定義
Echo 7
FTP 21
SMTP 25
Nameserver 53
WWW ( Web Server ) 80
所以,字串就會是這樣
https://www.sam4sharing.com/2020/05/arduino-max6675.html:80
因為Web Server port在 80 是一個共識了,後面 “:80”就可以省略了,Browser會幫我們處理掉。