Web服務:web服務可以認為是大規模的基于client/server模式的分布式信息系統,其結構圖<1>所示。
HTTP 協議:HyperText Transfer Protocol,超文本傳輸協議。基于TCP實現的一種應用層協議。一次HTTP協議的交互過程如圖<2>所示。
1、URI和URL有什么區別
URI的全稱是uniform resource identity(統一資源標識符)。URL的全稱是uniform resource locate (統一資源定位符)。URN的全稱是unifrom resource name(統一資源名)。這3者的關系入下圖所示。簡而言之,URL是URI,URN也是URI。但是URI不一定是URL,也不一定是URN。所有能標志一個資源的都成為URI,其中,從尋址方式(協議)定義的標識方式稱為URL【例如ftp://example.org/resource.txt】。從命名編號方式定義的標識稱為URN【例如urn:issn:1535-3613】。
2、web 瀏覽器地址欄里面的地址是什么?
我覺得應該用URL更加貼切,雖然用URI也是正確的。web地址欄一般包括了資源的獲取方式,http,https,ftp等等。你說它是URI絕對沒有錯,但是說成URL會更加的貼切。記住,只有包含了或者方式的URI才能稱之為URL。web URL的組成格式可概括為:協議-域名(主機:端口)-路徑和文件名。這三部分對應HTTP包頭格式中協議字段、Host字段、URL字段(嚴格上來說這個字段不能稱之為URL)。在瀏覽器輸入URL后,瀏覽器會生成相應的HTTP請求報文,向HTTP server發起請求,并等待HTTP server 的回包。一個請求過程如圖<4>所示。特別需要注意的是圖中的URL指代 /path/file(并非真正意義上的URL)。
3、HTTP協議的請求格式
HTTP協議的包格式如圖<5>所示。第一行包含三個字段 方法、URL、版本;從第二行開始的格式為 頭部域名稱:頭部域值;每行尾部都要加上\r\n; 包頭和包體之間需要額外一個\r\n.一個實例如圖<6>。
引用:
http://web.jobbole.com/83452/
https://danielmiessler.com/study/url-uri/
https://www.ntu.edu.sg/home/ehchua/programming/webprogramming/HTTP_Basics.html