文:http://zcfy.cc/article/1417.html
在這篇推文中,我收集使到一些使得網頁設計師和開發人員更方便網站建設的站點。這些站點都有精心編寫的,明確的,內容充實的的文章,內容包含對CMS之如WordPress討論,Photoshop工具,CSS和HTML教程代碼,對用戶體驗的想法(UX)和用戶界面(UI)的提示、技巧、資源和贈品。 在今天的帖子中,我們將一睹55個最好的網頁設計師和開發人員博客和網站。請注意站點不以排名先后論英雄。
1. Web Designer Depot
Web Designer Depot是全球設計師之間的聚集地,在這里有設計師們分享為來幫助發展設計社區功能而分享的文章和教程。 站點主題包括HTML 5,CSS3,響應式設計,排版,可用性,jQuery,移動應用程序,資源,業務,自由職業者,靈感等。
2. InstantShift
InstandShift是一個流行于網頁設計師和開發人員的社區。有很多關于WordPress,網頁設計,CSS,工具,教程,字體,攝影等很多優秀的帖子。
3. CSS-Tricks
這是由Chris Coyier1人創立最初只涵蓋CSS,到現在有11人的團隊,涵蓋網頁設計和開發的各個方面網站。 他們的內容包括文章,視頻,代碼片段、教程,新聞,基本資料等。
4. Hongkiat
這個網站自2007建立年以來,已經為設計師,開發人員,工程師和博主提供了一系列的文章,教程,推薦的工具,提示和技巧。 他們喜歡寫關于插件,工具,桌面和移動應用程序,小工具,天才般的想法等任何令人感興趣的任何東西。
5. Six Revisions
該網站由Jacob Gube于2008年推出,涵蓋了設計和構建網站及應用程序的網站設計和開發的整個流程。 他們發表文章,新聞,教程,指南等等。 該網站主題涵蓋的范圍從Photoshop到自由職業者和之間的一切。
6. Smashing Magazine
這個網站由Vitaly Friedman和Sven Lennartz創立,為設計師和開發人員提供了一系列的文章,教程。站點主題包括設計,用戶體驗設計,代碼,WordPress,移動應用程序和設計,圖形等。內容涵蓋軟件,概念,新聞等,也包括CSS,Photoshop,電子商務,插件,網站主題等等。
7. Vandelay Design
這個網站的重點是提供創意,為小企業主和企業家配備開發他們的經營理念的工具。 他們站點有很多關于網頁設計,寫作,網絡開發等等的文章。 他們也有鏈接到免費資源,一個包含高級資源的商店,他們通過提供免費的WordPress主題回饋社區。
8. TheNextWeb (Design & Dev)
該網站自2006年成立以來一直致力于國際技術新聞,設計,商業,文化等領域的文章發布。其內容包括入門指南,代碼,UX設計,關于交易和課程的鏈接和新聞,設計活動視頻,硬件,軟件,評論,即將到來的活動,平面設計等。
9. SpeckyBoy
Paul Andrew在2007年10月建立了自己的自由職業者站點。現已發展為為一個網頁設計雜志站點。 它擁有大量的教程,資源,節省利用的技術,甚至鼓舞人心的藝術。 主題包括網頁設計和開發,平面設計,移動開發,廣告,設計風格和趨勢,技術新聞等。
10. A List Apart
這個網站是由Jeffrey Zeldman于1998年建立的。 該站點文章專注于網頁設計靈域,面向設計師,開發人員,建筑師,專家,策略家,項目經理和作家開放。 站點主題包括代碼,內容,設計,商業和工業,工具,技術,UX等。
11. FastCo Design
這是一本專注于商業和設計之間結合的技術雜志站點。它涵蓋了廣泛的主題,包括電子,UX,平面設計,建筑,時尚,消費產品等等。 在這里的設計師提供見解,意見,提示,新聞等等更多信息。
12. DesignShack
這個設計網站發布了啟發靈感的網頁設計文章、布資源和教程。他們專注于設計和收錄了網上最偉大的項目。 他們定期發布教讀者創造自己設計的新技術的文章,并分享行業的每日新聞。該站點主題包括網站,排版,商業品牌,快捷方式等等。
13. Spoon Graphics
這是由Chris Spooner建立的設計博客。 他分享一些貼士,資源和靈感,以幫助各階段教育水平和技能水平的設計師。內容包括教程,文章,視頻,新聞和免費資源的鏈接。主題專注于平面設計,圖形軟件,排版,模板,標志等。還有一個只供會員的下載的區域。
14. CoDrops
這個設計博客是由是由網頁設計師兼開發人員Manoela Ilic和Pedro Botelho共同搭建完成的。 它開建立之初是想作為實驗博客,后面成為一個熱衷于分享對網頁設計和網站開發的社區。團隊成員及其他貢獻者一起發布有關最新網絡趨勢,技術等的文章和教程。站點主題包括教程,贈品,CSS參考目錄,在線實驗區域,討論網頁設計概念的藍圖,以及包含來自社區的設計和新聞資源的集合。他們還主持有獎問答節目。
15. TutorialZine
本網站是由來自保加利亞瓦爾納的網站開發人員和設計師團隊建立的。該站點文章包括小貼士,教程,贈品,編輯,UI,UX,新聞和在線實驗。文章內容涵蓋很多代碼開發,包括HTML5,CSS3,jQuery,JavaScript和PHP。他們甚至有一個免費的jQuery電子書。
16. HackingUI
這是一個由Sagi Shrieber和David Tintner創立的在線雜志,主要是針對互動設計和前端開發。 它涵蓋設計,代碼,贈品,靈感,生產力,素描等各個領域。他們有許多教程和文章,包括Photoshop,CSS,JavaScript,商業,個人生活,免費圖標鏈接,模板,贈品,有趣的網站,評論等等。
17. Web Design Weekly
這是由由Jake Bresnehan創建和維護一個周刊雜志和博客網站。雜志包括標題,文章,工具,資源,靈感,工作等。雜志和博客都包括關于編程代碼(CSS,HTML等)等文章教程。大多數內容在收錄在電子雜志中,并通過電子郵件推送給用戶這里非常注重代碼。
18. David Walsh
這是JavaScript和HTML5專家David Walsh的博客。 它包含大量的文章和教程,主要側重于前端技術。站點主題包括代碼(CSS,HTML,AJAX,JavaScript等),開發軟件,資源鏈接,網站主題,設計概念,演示,移動端,瀏覽器等。
19. Naldz Graphics
這是由Ronald Bien于2008年創建的設計博客。它展示了設計社區里的教程,贈品,靈感,資源等。站點內容包括文章,教程,贈品和WordPress主題。 它有很多的鏈接到良好的設計示例,免費圖標,PSD模板,宣傳冊設計,標志設計等等。
20. Design Beep
這個博客包含了許多關于設計和開發的主題。主要包括文章,教程,工具,資源,贈品和靈感等幾大塊。 涵蓋了圖形,標志,排版,網頁設計,Photoshop,WordPress主題和插件,CSS,Illustrator,jQuery等等。 它有很多貼士,下載鏈接,評論,收藏等。還有一些提示最佳實踐的貼士和廣泛適用的主題。
21. PixelHint
這里是一個專門發布Web UI設計教程網頁設計博客。他們還分享免費的供網頁設計師和開發人員下載的網站模板和網絡資源。 他們討論網頁設計最新趨勢和技術方法,以及創建網站UI的最好的方法和技巧。 該博客包含大量的教程和免費資源鏈接,發展概念和代碼教程。 免費資源包括圖標和PSD模板。
22. PixelBuddha
這個網站是尼克弗羅斯特和格雷格拉賓。站點內容包含用于Web開發人員的免費且專業的資源。 大多數資源是圖形。 資源包括動畫,照片,字體,效果,HTML,圖標,模板等。站點文章還會討論如何獲取資源。部分高級資源還會有一個免費版本。
23. GraphicBurger
這個網站的從Raul Taciu的Cluj-Napoca,羅馬尼亞和專注于高質量的設計資源是免費的。資源包括獨有的PSD文件,還有來自世界各地的免費素材。資源包括模型,UI工具包,圖標,文字效果,背景等。文章詳細討論了產品,并提供了下載鏈接。
24. Queness
這是一個專門用于網頁設計和開發的博客,其中包含大量教程和代碼片段。該站點類別包括技術,教程,網頁設計,網站開發,WordPress,JavaScript,移動開發,排版等等。 文章包括新聞,免費資源,資源鏈接,主題合集等等。
25. Inspirationfeed
該站點由Igor Ovsyannykov管理,提供有關設計,商業,創辦企業的精神,WordPress,圖形,交易和職場自我成長的信息。文章包括教程,靈感,博客,免費資源,新聞,主題,紋理,壁紙,SEO,社交媒體,標志,字體等等。 還有視頻教程和免費資源的鏈接。
26. DesignWoop
這個博客提供了許多文章給設計師和開發人員。站點主題包括工具,贈品,設計理念,靈感,面試,WordPress,主題,插件,方法小貼士,教程等。文章廣泛的包含了教程、集合和鏈接等領域。鏈接包括CSS動畫片段,WordPress主題,圖標,排版,優秀的網站設計案例,線框圖工具等等。站點的教程包括Photoshop,CSS,Sketch等等。
27. CSSReflex
這個網站由來自巴林的Naeem Noor創建并維護,專門面向于網絡開發人員、設計師和編程人員。站點提供了很多工具,資源,代碼片段和提示。內容包括博客,CSS生成器,CSS濾鏡效果,CSS演示,響應式計算器和視頻。它討論許多方面如博客,服務器,UI設計,WYSIWYG生成器,圖標,架構,模板,開發人員的瀏覽器擴展,資源鏈接等等。
28. Viget Inspire
這個博客來的誕生是來自一個更大的項目,是由布萊恩·威廉姆斯,安迪·蘭金和Wynne“流行”威廉姆斯于1999年成立。博客涵蓋了設計和各種動效。站點主題包括UX,顏色,可訪問性,新聞,事件,實驗,實驗,品牌管理,APP,游戲,插圖,教程等等。
29. WinningWP
這是一個曾獲獎的博客,由來自倫敦的布林威爾遜建立并運營,專注于WordPress相關的技術和資源,給任何對WordPress感興趣的人提供有用的提示。站點的內容由來自世界各地的網頁設計師,程序員和專業創意者提供。站點主題包括網站主題,插件,代碼托管,SEO,安全性,性能,教程,提示,博客,系統組件,設計,營銷,社交媒體,新聞,周邊趣事等等。 盡管建立網站的初衷是專注于WordPress但也包含其他CMS。
30. Designrfix
這個網站致力于提供一個平臺給所有志同道合的設計師一起交流技術和分享靈感。它包括靈感,教程,贈品,資源,平面設計,網頁設計和商業活動。 主題包括移動平臺,內容管理系統,CSS,jQuery,WordPress主題,工具,資源,圖標,培訓視頻鏈接,插圖,UI,UX,編碼,Photoshop等等。
31. Creative Overflow
這是Jacques van Heerden建立的在線設計雜志。該網站是通過發布文章,建議,教程,資源和靈感以達到激發藝術家變得更好的目的。站點內容包括許多熱門主題和目錄,如收藏,免費資源,新聞,訪談,WordPress,新聞,贈品等。文章包括有關品牌,WordPress主題,商業發展,電子商務,徽標,營銷的信息,甚至為您提供創意商業提供建議如何選擇打印機。
32. One Xtra Pixel
這是一個為新加坡設計師和網站開發人員而設立的在線雜志。站點提供了許多資源,文章,教程和鏈接。主題包括設計,圖形,WordPress,CSS,社交媒體,開發,免費資源,工具包,事件等。提供了一步一步的教程包括有關編寫代碼,在Photoshop中修改圖像。甚至有一個連環圖專們針對設計和Web開發的,偶爾也有其他主題的漫畫。
33. Noupe
這是由來自德國的Commindo Media GmbH&Co. KG建立的博客。站點的內容專門為Web開發人員和設計師而編寫的。站點主題包括網頁設計,排版,圖形,CSS,JavaScript,Ajax,廣告,市場營銷,WordPress,電子商務,自由職業者,靈感等等。 文章包括設計教程,編寫代碼,使用圖形程序,SEO,免費資源,卡通,主題,插件,提示,技巧等等。
34. InstantShift
這是一個為網頁設計師和開發人員設計和提供靈感的博客。它每天都有資源推薦,內容包括靈感,文章,教程,贈品,網頁設計,WordPress,字體,CSS,圖標,攝影,Photoshop,JavaScript,Illustrator,平面設計,信息圖表,案例,logo,新聞和更多。
35. WPKUBE
這個網站是由Devesh Sharma創立的。它主要集中在WordPress,包括學習指南、教程方法、插件、新聞、評論、提示和技巧、插件、主題,評論、安全、SEO、初學者指南和代碼等。 它包括許多資源的鏈接,例如工具,代碼托管和優惠券。站點文章是由WordPress專業人員寫的,內容廣泛,面向各個級別的從業人士。
36. Fresh Web Dev
這個網站涵蓋網頁設計和開發,重點是WordPress,Javascript,CSS,PHP,設計,HTML5和其他各個方面。站點它包括WordPress,Photoshop,編寫代碼,Linux服務器開發和配置,字體,圖形等產品的文章和教程。他們還提供交易和免費資源的鏈接。內容由專業的設計師和開發人員為其群體所寫。
37. DesignM.ag
這是一個基于社區的網站,包括博客,設計圖庫,用戶提交的新聞和招聘專區。博客包括工具,圖標,主題,代碼片段,字體,圖形等資源。教程包括Photoshop,網頁設計等。站點主題還包括采訪,靈感,WordPress,設計師案例,免費資源,排版,UI等。該站點涵蓋了所有的網頁設計的方方面面。
38. Creative Market Blog
這個博客有很多關于網頁設計和前端開發的教程。它包括許多文章和貼士,如字體設計和優化排版,使用Photoshop的小貼士,推薦書籍的列表,解決常見的設計問題的方法論,使用負空間,WordPress,PHP,HTML,CSS,靈感等。目標受眾是從初級到高級的網站開發人員和設計師。
39. SitePoint
這個博客由Mark Harbottle和Matt Mickiewicz創立。站點提供新穎的想法,概念和新技術等內容,還包括文章、課程、教程、書籍或任何與設計和構建網站相關的內容。網站用戶討論代碼(HTML,CSS,PHP,JavaScript和Ruby),移動開發,WordPress,設計,UX,商業運營,以及任何與網絡技術相關的內容。
40. Web Design Ledger
這是一個涵蓋網頁設計和開發且同時提供了大量的資源的博客。站點主題包括網頁設計、靈感、UI、圖形、訪談、網絡開發、評論和內容管理系統。文章包含免費資源鏈接,時事新聞,APP教程,工具,字體,圖標,矢量圖形,WordPress,Drupel,Ghost,編碼,電子商務,移動開發,可穿戴設備,排版設計等信息的鏈接。
41. envato tuts+
這是一個有很多文章的錢打U呢和設計的教程網站。站點類別包括Photoshop,Illustrator,矢量,插圖,工具和提示,靈感,新聞,設計,文本效果,CSS,HTML,UX,UI,工作流,設計理論等等。文章針對的是初級階段,內容十分廣泛。還有一些可供訂閱的課程。
42. HappyCog’s Cognition Blog
這個博客來自Happy Cog的創始人Jeffrey Zeldman建立的,主要關注設計,經驗體會和代碼。站點主題包括流程,設計,前端開發,團隊,項目管理,社區,職業,戰略,公司和客戶關系。文章包括案例研究,教程,方法提示,商業運營和客戶關系處理,排版,編碼,Photoshop等等。大多數文章是是精心編寫和詳細的理論研究成果。
43. WebAppers
這是一個專門為Web開發人員和設計人員分享開源資源的博客。對于設計師,站點有免費的圖標,字體,表,股票照片,畫筆和設計靈感。對于開發人員,有很多JavaScript和Ajax組件,如插件,菜單,工具提示,圖表,輪轉圖,日歷,模態窗等。它還涵蓋代碼托管,電子商務,社交媒體,工具,安全,統計等等更多。該站點的文章詳細和前沿。
44. Web Field Manual
此博客提供了一個用于UX和UI設計的資源列表。該站點是由網頁設計師策劃和維護,包含了大量的網頁設計文章和資源。主題設計包括人們趨勢,靈感,規范的和不規范的風格指南,工作進程,工作流,工具箱,優秀的和拙劣的網格和排版,動畫制作的最佳與最壞方式,設計準則的最佳與最壞遵守,和可訪問性的最佳與最壞標準。每個類別都有詳細的資源列表。站點主題包括編碼入門,最佳實踐,靈感,參考,流行趨勢,性能,CSS/SASS,SVG,JavaScript,工作流,工具箱和各種庫。
45. UXPin Blog
UXPin是供網頁設計師使用的產品設計平臺。他們的博客側重于各方面的各種平臺的用戶體驗。它包含大量關于用戶體驗設計,移動端,設計趨勢,最佳實踐,設計小貼士,交互設計,UI設計,網頁設計,元素和模式,過程,UXPin,線框,平面設計,團隊協作,可用性,原型,草圖,樣機,Photoshop等等。該站點的文章都非常實用和詳細。
46. Good UI
這是一個致力于制作最好的網站布局,以改善用戶界面的網站和博客。網站介紹最佳實踐,布局,如何合并功能以達到更簡潔的設計。大力推薦使用社交途徑,來無論何處可以何處響應行動呼吁,來如何使可點擊和可選擇的不同樣式表,來如何推薦一個選擇來幫助用戶決策,也提供了允許用戶取消錯誤行為的決策,來具體證明明最佳的受眾是誰,來顯示更強的對比,使用更少的字段,合理顯示所有選項等等。站點的信息都很簡短,簡單,易于理解。
47. Spyre Studios
這是一個包含很多文章和教程的網頁設計和開發電子雜志。站點目錄包括設計,展示,非同尋常的靈感,教程,CSS,資源,工具,UX,移動端,免費資源,可用性,商業,排版,Illustrator,Photoshop,極簡主義,工具等。還有很多免費下載的元素,圖標,字體,PSD模板等。文章的大小合適閱讀,包含和很多的分步細節。
48. Skyje
這個博客成立于2008年,是一個面向網頁設計師和網頁開發人員的網站。主題包括社交網絡,新聞和與Web 2.0相關的一切。站點主題包括設計,WordPress,社交媒體,SEO,標志,靈感,教程,免費資源,字體,圖標,Photoshop,模板等。教程主要覆蓋圖形以及重點關注Photoshop。還包括插件、代碼(JavaScript和CSS)和Illustrator。
49. MonsterPost
這是世界優秀網頁模板站點Template Monster的設計博客。站點主題包括新聞,文章,工具,贈品,靈感,信息圖表,WordPress和Joomla。 教程包括文章和視頻,并重點關注WordPress,排版,CSS,HTML,jQuery,Photoshop,Illustrator,網絡技術,Web開發方法論,以及設計網站和UI元素。
50. UX Matters
這本網絡雜志由Pabini Gabriel-Petit于2005年創立,為UX開發人員提供視野和靈感。它提供了許多有價值的建議,最佳實踐,主題觀點,以及探索UX設計的戰略方面的深層思考的文章。主題包括網頁設計,移動端,用戶研究,視覺設計,web應用程序設計,設計流程,訪談,評論,內容創建,通信設計,架構,商業,戰略等等。
51. Usability Geek
這個博客開始由Justin Mifsud在2011年建立的,出發點是作為一個提升網站可用性的重要性的興趣交流網站。Justin想提高網頁設計師和開發人員在商業和政治網站可用性設計的意識。站點主題包括可用性,指南,測試,用戶體驗(UX),商業運營,轉換,人機交互(HCI),術語,評論,資源和信息架構(IA)。
52. Boxes and Arrows
這是一本2001年開始的同行寫的雜志,討論所有關于設計的東西。站點主題包括交互設計,信息架構,平面設計,甚至商業服務設計。 站點目錄包括設計原則,發現,研究和測試,過程和方法,界面,可交付成果和文檔,書評,會議和活動,軟件和工具,以及工作場所和職業。
53. Web Design Dev
這個網站專注于網頁設計包含所有東西。站點主題包括贈品,網站模板,WordPress主題,Photoshop,Dreamweaver教程,Illustrator,評論,靈感,網站開發,CSS,HTML,合集,編程,網上兼職,訪談和SEO。該站點涵蓋了從移動界面設計到開發電子商務網站開發之間的方方面面。
54. Impressive Webs
這是Louis Lazaris的個人博客,作者是一個自由的網絡開發人員,雜志站點SitePoint的HTML/CSS內容的管理編輯,和兩本關于HTML/CSS的書的作者。博客內容大多是關于HTML、CSS和JavaScript的文章。Louis在他的博客討論相關的概念,原則和bug。博客也它包括許多文章、教程,CSS基礎,屏幕錄像,新聞,評論等等。這個博客站點強調的代碼和設計的結合。
55. Design Bombs
最初作為一個網頁設計展示畫廊,現已成為分享網頁設計的想法,文章,教程和資源,以幫助網頁設計師提升他們技藝的平臺。站點內容包括WordPress主題和插件,網站設計的綜述,贈品,獨家優惠等等。網頁設計師可以這里找到很多高品質的資源。
言盡于此,學習之路不止。 Have a nice day!
本系列文章旨在記錄和總結自己在Java Web開發之路上的知識點、經驗、問題和思考,原來已經分享在我的CSDN博客,現在分享在頭條,希望能幫助更多碼農和想成為碼農的人。版權聲明:本文為CSDN博主「普通的碼農」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處鏈接及本聲明。原文鏈接:https://blog.csdn.net/liyongyan1202/article/details/87779913
上篇介紹了Web的基礎,即計算機網絡及其協議,目前TCP/IP協議族是互聯網協議的事實標準。Web特指基于網頁和HTTP等相關技術的計算機信息處理系統,所以一旦提到Web瀏覽器、Web服務器、Web容器、Web程序、Web應用、Web Service等等,那么肯定就是基于網頁和HTTP等相關技術的東西了。由于Web大行其道,有時候互聯網就是指Web(萬維網)。
Web其實最早是由歐洲核子研究組織的蒂姆博納斯李博士為研究者們共享知識而提出來的,最基本的理念就是各個文檔之間相互關聯形成超文本(HyperText),這就是俗稱的網頁,而傳輸網頁的通信規范和約定就是超文本傳輸協議(HyperText Transfer Protocol,簡稱HTTP)。
我們以后是要學習怎么用Java語言來開發Web應用,所以網頁和HTTP必須要有一定的了解。
這就是訪問一個網站的主要流程,從中可以看到必須有三樣東西:
其實網站不僅僅可以為人類提供數據/信息(這就叫人機界面、人機接口、人機交互),它還可以為其他機器上運行的程序提供數據/信息(這就是應用程序接口,即API,是程序與程序之間的交互)。
這個就不多介紹了,但也有很多點:
URL通常有以下的形式(更復雜的暫且不提):
http://www.xxx.com:80/dir/resource.htm?queryKey1=value1&queryKey2=value2
由于IP地址不容易記憶,于是人們又發明了域名系統(Domain Name System,簡稱DNS)。
簡而言之,DNS就是為了幫助人們把域名翻譯成IP地址的系統,所以我們才可以在URL中用容易記憶的域名來代替IP地址。
這樣,瀏覽器在訪問網站時,首先請求DNS將URL中的域名轉換為IP地址,然后再用IP地址來構建IP報文發到互聯網,互聯網會根據IP地址把你的請求轉發到該網站。一般你的計算機也會把使用過的域名緩存起來,這樣就不用每次都要請求DNS來轉換了。
與DNS通信的協議就是DNS協議,它也屬于應用層的協議。
在你的計算機上可以配置DNS服務器的IP地址。
前面所介紹的都是用戶能看得到的,而HTTP實際上是用戶看不到的。上篇已經介紹過,HTTP是屬于應用層的協議,是基于TCP的,實際上可以理解為瀏覽器和HTTP服務器之間交流的語言。
首先,HTTP是文本格式的,就是說它的報文內容都是字符(本質上計算機里的數據都是二進制的,只不過文本格式的數據已經由計算機轉換成字符顯示給我們而已)。
其次,HTTP協議規定一次通信必須由瀏覽器發起請求,由HTTP服務器返回響應,屬于請求-響應模式。而HTTP是基于TCP的,TCP又是面向連接的,所以瀏覽器必須向HTTP服務器發起連接,這樣就必須知道HTTP服務器的IP地址和端口,所以URL里面就包含有這兩項。
最后,HTTP協議是無狀態的。這是什么意思呢?就是說瀏覽器發送給HTTP服務器的各個請求之間在協議層面上是相互獨立的,即協議不提供各個請求之間相互關聯的技術和手段,需要由其他技術比如Cookie或者HTTP服務器端的Web應用程序來提供狀態維護。最常見的是用戶登錄某網站之后,后續的請求即處于用戶登錄狀態下,但HTTP協議并不維護此關系,由其他技術來維護。
我們可以使用抓包工具抓取HTTP報文來觀察其格式,Wireshark就是一款不錯的抓包工具,可以到其官網(https://www.wireshark.org/)進行下載安裝,在此不贅述。
下圖抓取的是我訪問新浪網的請求包:
可以看到HTTP請求包含四個部分:
HTTP方法最常用的是:
其他方法暫時不討論,以后我們就可以直接說GET方法、GET請求、POST方法、POST請求了。
首部部分也暫時不討論,主要就是為了瀏覽器與HTTP服務器之間的某些信息的協商,比如我接收什么編碼格式的資源,連接的保持、緩存的控制、內容的長度等;
請求體就是用戶數據了。
下圖看對應的響應包:
可以看到HTTP響應也包含四個部分:
這里我們要記住一些常用的狀態碼,方便問題排查:
HTTP協議就暫時介紹這么多,下面再簡單介紹一下網頁。
所謂網頁,本質上就是一個文本文件,只不過這個文件是具有某種格式的,這種格式就是HTML(HyperText Markup Language,直譯為超文本標記語言)格式,只要掌握了這種格式,你就可以自己編寫網頁了。
比如簡單的一個網頁就是:
<html> <head></head> <body> <h1>你好,世界!</h1> </body> </html>
用文本編輯器新建一個文件,敲入以上的代碼(也可以稱為代碼哦,只不過這個代碼是由瀏覽器來解釋的),保存為文件名是“我的第一個網頁.html”的文件。然后在瀏覽器里面打開這個文件(直接拖進瀏覽器即可),可以看到:
網頁之所以叫超文本,原因在于網頁內可以可以包含圖片、視頻、鏈接,音樂、甚至程序等非文字元素。網頁的基本格式就是類似上面的。
網頁的基本元素就是標記或者叫標簽,就是由尖括號括起來的東西,通常都是成對的,一個開始一個結束,結束的帶有斜杠,比如上面的html標簽是<html>和</html>、head標簽是<head>和</head>,body標簽是<body>和</body>。這三個是必須要有的標簽,然后在標簽里面嵌入你的數據,或者其他標簽。標簽以及標簽內的數據加起來就叫一個元素。
更詳細的介紹可以參考其他書籍或網站。W3Cschool是一個不錯的學習網站。
所謂Web開發,包括前端和后端,前端主要就是指瀏覽器這一端的技術,主要包括:HTML、CSS和JavaScript等。
前面介紹了Web相關的基本內容,通過介紹可以看出對用戶來說Web的組成最核心的就是瀏覽器和網站。它們遵循請求-響應模式:
這種模式具有普遍性,不管是在現實生活中,或在程序世界里都經常能看到。發起請求的一方就叫客戶端(Client),執行請求來提供某種服務的一方就叫服務器(Server),所以人們把這種模式就叫做CS架構。程序世界里常見的有FTP服務器和FTP客戶端、郵件服務器和郵件客戶端等等。
再后來,由于Web技術的流行和發展,很多應用都在Web上來實現,比如可以用瀏覽器來實現文件的上傳和下載、郵件的收發等等。這樣人們不用專門安裝某個應用的客戶端就可以使用該應用,只需要有瀏覽器即可。所以人們又把這種基于瀏覽器(Browser)和HTTP服務器(Server)來實現某種應用的模式就叫做BS架構。
現在知道了網站就是由HTTP服務器構建的,而服務器這個詞其實既可以指硬件,又可以指軟件(或程序),不過一臺硬件服務器上通常只會運行一種應用的服務器程序(不考慮虛擬化技術),這是為了性能和高可用的考慮。所以HTTP服務器既可以指運行HTTP服務器軟件的那臺計算機,也可以指HTTP服務器軟件(程序)。我們可以通過上下文來判斷是指哪個。
HTTP客戶端也可以叫Web客戶端。瀏覽器就是Web客戶端,很多手機上的APP也實現或內嵌了HTTP客戶端。各種編程語言實現的用于訪問HTTP服務器的函數、接口或類也是一種HTTP客戶端,只不過它們是由開發人員來使用的。
HTTP服務器也可叫Web服務器或WWW服務器,現代的Web服務器已經不僅僅是提供靜態的網頁,通常還提供一個開發框架,在這個框架之下,開發人員能夠根據需求開發能夠動態生成網頁并把這個網頁返回給瀏覽器的程序,這些程序能被Web服務器加載、管理和運行。這種Web服務器就是Web容器,又可以叫做Web應用服務器、Web應用容器。就是說Web容器肯定也是Web服務器。
之所以叫容器,我想是因為它能運行基于其框架開發的程序。從這個意義上說,所謂容器,就是提供了一系列規范或接口的軟件,它能夠裝載、管理、調用或運行按照該規范或接口所開發的組件,比如Servlet/JSP容器、Spring IoC容器、Docker容器,甚至操作系統都可以看作一個容器。
目前流行的Web服務器有Apache、Nginx、IIS、WebSphere、WebLogic、JBoss、Tomcat、Netty等等。其中Tomcat和Netty就是我們以后要用來進行Java Web開發的Web容器。
Java的Web開發的基礎是Servlet和JSP技術/規范/標準,而Tomcat實現了這些技術,所以Tomcat又可以叫做Servlet容器或JSP容器。以后再介紹Servlet和JSP,現在不用考慮它們是什么,其實它們就是Java提供的一個開發框架而已。
隨著技術的發展,在Web或HTTP的基礎上又出現了SOA(Service-Oriented Architecture,直譯為面向服務架構)、Web Service技術、微服務架構、REST架構等。當然,這些技術還使用了xml和json等技術,這兩種技術主要聚焦于數據內容的表示、存儲、傳輸和交換。這些都咱不討論。
<a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML">MDN Web Docs</a>
當我們點擊該文字時,即會跳轉至該網站;
<a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML" target="_blank">MDN Web Docs</a>
例如,首先我們在vs中創建一個頁面,為了演示,寫了一個最簡單的頁面;
<a href="./blog.html">BLOG</a>
<a href="./index.html">回到首頁</a>
<a href="#">挑戰</a>
<a href="#">彈性盒子</a>
<a href="#">CSS</a>
這樣在頁面上是一個超鏈接,但是它不會指向任何地方;
結合之前和本章的練習,我們需要實現如下頁面:
*請認真填寫需求信息,我們會在24小時內與您取得聯系。