<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [解讀REST] 1.REST的起源

      0. 世界上第一個網站

      1990年12月20日,這一天對于現在的互聯網來說意義非凡。歐洲核子研究組織(CREN)的科學家Tim Berners-Lee在一臺NeXT電腦上啟動了世界上的第一個網站(當然當時僅能Tim Berners-Lee自己訪問),這臺電腦至今仍保留在CREN,但當年那個網站已經不復存在了。鑒于這個網站的意義重大,CREN在2013年“復刻”了這個網站,并指向了原來的網址:http://info.cern.ch/。由于現在的瀏覽器早已不是當初的樣子,所以CREN還提供了一個模擬器來模擬當時瀏覽這個網站是什么情形(http://line-mode.cern.ch/www/hypertext/WWW/TheProject.html),打開后如下:

      哈哈,看起來是不是很酷炫的樣子(可以通過輸入數字編號進行鏈接的跳轉)。

      1. Hypermedia

      我們注意看它的第一句話:

      The WorldWideWeb (W3) is a wide-area hypermedia information retrieval initiative aiming to give universal access to a large universe of documents.

      大意是說www是一個為了讓全世界都能訪問大量文檔的一個的超媒體信息檢索計劃,其中重點在于其提到的hypermedia。我們看看它怎么解釋hypermedia是什么的:

      Hypertext is text which is not constrained to be linear.

      Hypertext is text which contains links to other texts. The term was coined by Ted Nelson around 1965 (see History ).

      HyperMedia is a term used for hypertext which is not constrained to be text: it can include graphics, video and sound , for example. Apparently Ted Nelson was the first to use this term too.

      Hypertext and HyperMedia are concepts, not products.

      其中解釋了什么是hyperhtext(包含link的文本內容),又指出了hypermedia是一個術語,不僅僅指代hypermeida,還可以包括一些圖像,視頻,聲音等等。hypertext這個術語名字并不是由Tim Berners-Lee提出的,而是在更早的1965年由Ted Nelson第一次提出這個概念(hypertext歷史)。不知道大家對于hypertext這個詞是不是感覺很熟悉的樣子,大名頂頂的HTML(HyperText Markup Language)就是它的一個具體實現。hypertext中的link一直是重中之重,試想如果沒有這樣一種機制把各種文檔聯系起來,那么孤零零的一些文本內容是如何也不會發展出后來的互聯網的。

      hypermedia是web重中之重的一個角色,如果說沒有它就沒有今天的web也是不為過的。

      2. HTTP歷史的簡單回顧

      具體的HTTP協議最早是版本0.9,發布與1991年(HTTP 0.9 https://www.w3.org/Protocols/HTTP/AsImplemented.html)。從現在的角度看可以說是一個很簡陋的協議,只支持GET請求,無request header,所以只能用來展示靜態文本內容,不對對于當時來說已經足夠了,畢竟當初Web建立的初衷僅僅是為了在這些科學家之間共享文檔信息用的。

      隨著Web的迅猛發展,只讀的HTTP 0.9已經無法滿足Web的需求了。在1996年HTTP 1.0誕生,最突出的改進在于支持POST來寫數據了(基于HTML表單,HTML最初的標準誕生于1993年),使得Web終于“活動”了起來。在HTTP 1.0協議的專家組中,有一個年輕人脫穎而出,后來成為了HTTP/1.1協議專家組的負責人。這位年輕人就是Apache HTTP服務器的核心開發者Roy Fielding,Apache軟件基金會的合作創始人,也是URI協議的主要設計者,同時也參與了HTML的設計。

      在1999年,Tim Berners Lee和Roy Fielding以及HTTP1.1專家組發布了HTTP 1.1版本,主要是對1.0的一些多余的設計做了一些精簡和優化,比如我們現在可以在一臺機器上部署多個網站,而用不同的host請求頭來區分,而這個host請求頭是在1.1才引入的。1.0的時候HTTP協議對網站的假設是基于一個IP對應一個網站,從來沒有料到后來的一個ip會部署這么多個web站點。

      HTTP 1.1從1999年至今10多年,隨著越來越豐富富龐大的web,http1.1的性能問題越來越凸顯出來。后來Google開發了一個SPDY協議,在TCP和HTTP之間增加了一層,重點在于提示傳輸性能和增加安全性,但是卻強制了采用TLS。在后來制訂了新版的http2,借鑒了SPDY中的一些經驗,但是移除了對TLS的強制要求,至于為什么,原因很簡單,這個要求違反了REST的一些架構約束(至于違反了哪些約束,后面的博客會解釋)。

      3. REST的誕生

      在上面我們提到一個人:Roy Fielding,他和他的同事們在URI,HTTP1.0和HTTP/1.1協議的設計工作中,對于Web之所以取得巨大成功(同時面對早期HTTP0.9的糟糕設計),在技術架構方面的因素做了一番深入的分析和總結。Fielding將這些總結納入到了一套理論框架之中,然后使用這套理論框架中的指導原則,用來描述解釋Web的架構,以及用來指導這些協議的設計。HTTP/1.1協議的第一個草稿是在1996年1月發布的,經過了三年多時間的修訂,于1999年6月成為了IETF的正式規范。用來指導HTTP協議設計的這套理論框架,最初是以備忘錄的形式在專家組成員之間交流,除了IETF/W3C的專家圈子,并沒有在外界廣泛流傳。

      Fielding在完成HTTP/1.1協議的設計工作之后,回到了加州大學歐文分校繼續攻讀自己的博士學位。第二年(2000年)在他的博士學位論文Architectural Styles and the Design of Network-based Software Architectures中,Fielding更為系統、嚴謹地闡述了這套理論框架,并且使用這套理論框架推導出了一種新的架構風格,并且為這種架構風格取了一個令人輕松愉快的名字“REST”——Representational State Transfer(表述性狀態轉移)。在這篇論文中,Fielding認為Web得以蓬勃發展的原因很大程度上得益于Web的架構設計滿足了互聯網規模的分布式超媒體系統的需要。而REST,正是Web的架構風格,現代的Web則是REST的一個架構實例。

      本篇先開個頭,簡單介紹一下web的歷史,以及REST的誕生時機和環境。后面會逐一解釋什么筆者眼中的REST是什么,歡迎有興趣的前來討論。

      參考資料

      世界上誕生的第一個網站:http://info.cern.ch/

      世界上誕生的第一個網站-模擬器:http://line-mode.cern.ch/www/hypertext/WWW/TheProject.html

      Web的生日:http://home.cern/topics/birth-web

      HTTP 0.9 :https://www.w3.org/Protocols/HTTP/AsImplemented.html

      HTTP 歷史:https://www.w3.org/Protocols/History.html

      HTTP 1.1 : https://www.ietf.org/rfc/rfc2616.txt

      Evolution of HTTP:https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP

      理解本真的REST:https://www.infoq.cn/article/understanding-restful-style

      Tim Berners Lee :https://en.wikipedia.org/wiki/Tim_Berners-Lee

      Roy Fielding:https://en.wikipedia.org/wiki/Roy_Fielding

      Roy Fielding談Google SPDY協議:https://www.infoq.cn/article/2012/07/roy-on-google-spdy

      架構風格與基于網絡應用軟件的架構設計(中文修訂版):https://www.infoq.cn/article/web-based-apps-archit-design

      Architectural Styles and the Design of Network-based Software Architectures:https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

      posted @ 2017-09-06 10:06  Timetombs  閱讀(2436)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 内射老妇bbwx0c0ck| 中文字幕无码中文字幕有码a| 鹰潭市| 亚洲中文字幕无码日韩精品| 国产精品麻豆中文字幕| 久久综合激情网| 国产精品久久久久久福利69堂| 久久天天躁夜夜躁狠狠综合| 2021亚洲va在线va天堂va国产 | 色老99久久九九爱精品| 亚洲永久精品ww47永久入口| 亚洲色一色噜一噜噜噜| 亚洲国产日韩欧美一区二区三区| 99国精品午夜福利视频不卡99| 国产欧美日韩综合精品二区| 92国产精品午夜福利免费| 日本一区二区三区后入式| 欧美一区二区三区成人久久片| 高清无码18| 国产一区二区三区18禁| 精品 无码 国产观看| 国产毛片精品av一区二区| 福利一区二区视频在线| 少妇真人直播免费视频| 国产午夜福利精品视频| 亚洲中文字幕精品第一页| 国内精品伊人久久久久av| 熟女人妻aⅴ一区二区三区电影| 日韩不卡一区二区三区四区| 亚洲人成网站在线播放2019 | 欧美人与性动交ccoo| av无码精品一区二区三区| 福利视频在线一区二区| 少妇激情一区二区三区视频小说| 亚洲中文字幕精品久久| 男女爽爽无遮挡午夜视频| 国产无遮挡又黄又爽在线视频| 亚洲一区二区三区自拍偷拍| 青青青爽在线视频观看| 亚洲一区av在线观看| 久久亚洲日韩精品一区二区三区 |