山姆的編程實作分享。。。

Sam Blog, Sam Sharing, Sam Studio

2020年6月2日

[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請參考

維基百科 : Name Server

維基百科: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會幫我們處理掉。


熱門文章