走近HTTP協議之一 基本網絡概念與理解

當今的技術領域,開發者人數最爲之多的羣體即是web領域,與之相關崗位的包括前端工程師,後臺工程師,移動端開發工程師等等。然而因爲受時代浮躁氛圍的影響,許多開發者對最爲基礎的HTTP協議都不甚瞭解,這也正是本篇文章的目的--簡單總結一下 瞭解HTTP協議以前你須要掌握的一些基礎知識,基本術語等等前端

 

  1. 基本概念

 

  • 協議

"協議定義了兩個或多個通訊實體間交換報文的格式和次序,以及在報文傳輸/接收或其餘方面所採起的動做。"--《計算機網絡--自頂向下方法》 咱們能夠把協議理解爲規則的集合 web

(圖:人類交流的協議與網絡協議對比) 編程

 

  • HTTP

HyperText Transfer Protocol(超文本傳輸協議)的縮寫,是創建在web應用層的核心協議。 瀏覽器

 

  • HTML

HyperText Markup Language(超文本標記語言)的縮寫,web頁面是由對象組成的,對象能夠說就是文件,大多數web頁面包含一個基本HTML文件,能夠經過URL來尋址。 安全

 

  • Web Browser(瀏覽器)

瀏覽器經過發送請求,獲取服務器資源,實現了HTTP的客戶端,能夠稱做客戶端(Client)。其實如今許多的客戶端也是web客戶端轉制的,包括PC端和移動端。 服務器

 

  • Web Server(服務器)

用於存儲web對象,每一個對象由URL尋址,web服務器實現了HTTP的服務器端(Server)。 網絡

 

  • TCP

Translation Control Protocol(傳輸控制協議)的縮寫,是面向鏈接(Connection-oriented)的傳輸層協議,HTTP協議創建在TCP協議之上,TCP協議爲HTTP協議提供可靠數據傳輸服務。運行在不一樣機器上的進程經過向Socket(套接字)發送報文來進行通訊。 前端工程師

 

  • Socket

socket是在應用層和傳輸層之間的一個抽象層,它把TCP/IP層複雜的操做抽象爲幾個簡單的接口供應用層調用已實現進程在網絡中通訊。 socket

 

 

  • URL

Uniform Resource Locator(統一資源定位符)的縮寫,不只標識了Web 資源,還指定了操做或者獲取方式,同時指出了主要訪問機制和網絡位置。 學習

主要格式:<協議><特定協議部分>

 

  • URI

Uniform REsource Identifier(統一資源標識符)的縮寫,是以統一的標準化方式標示資源的字符串。

 

  • URN

Uniform Resource Name(統一資源名稱)的縮寫,是URI的一種,用特定命名空間的名字標識資源。使用URN能夠在不知道其網絡位置及訪問方式的狀況下討論資源。

 

  • GET

HTTP協議客戶端對服務器的請求方法之一。從指定的服務器中獲取數據

 

  • POST

HTTP協議客戶端對服務器的請求方法之一。提交數據給指定的服務器處理

 

學習HTTP協議,你們要了解的最基本,最核心的概念就是以上這些,這些概念我會在後面的系列中逐步深刻講解和分析,分享一些本身的學習經驗。

 

    2. 辨析與理解

 

  • 辨析URL URI URN

明白這三者,你只須要知道如下幾點:

  • URL和URN都是URI的子集,是URI的一種形式
  • 引入URI的目的是標準化方式標識資源
  • 引入URL是爲了便於肯定具體的網絡位置和訪問方式
  • 引入URN的目的是惟一標識一個實體

 

  • 辨析GET POST

看過好多網上的博客,都在講POST方法比GET方法安全,POST方法會加密等等。這些能夠說是錯誤的說法!!

辨析GET與POST,你要明白如下幾點

  • HTTP是應用層上的協議,HTTP協議的四個方法剛好對應了增刪查改功能
  • POST是添加,DELETE是刪除,PUT是修改,GET是查詢。因此POST並不能說比GET安全,二者功能是不一樣的。
  • POST和GET傳輸的都是明文,區別是GET能在URL上直接訪問,但本質上都沒有加密。
  • 另外,GET是冪等的,請求1次和請求n次相同,因此一些不是冪等的操做(文件上傳,修改數據等)不能使用GET方法,用POST。

 

 

3. 總結


本文主要總結和分析了網絡尤爲是WEB開發者須要掌握的一些核心概念,爲從此深刻了解HTTP協議,網絡編程,以及對服務器端的優化,打下良好的基礎。固然,掌握這些還遠遠算不上打好基礎,要想真正掌握好計算機網絡,你還須要閱讀相關技術書籍以及大量的編程實踐,加油吧!

相關文章
相關標籤/搜索