互聯網協議

推薦兩篇很是好的文章
從下至上介紹了電腦間物理鏈接、以太網協議、IP協議、UDP/TCP協議、HTTP協議...javascript

互聯網協議入門(一)- 阮一峯
http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.htmlcss

互聯網協議入門(二)- 阮一峯
http://www.ruanyifeng.com/blog/2012/06/internet_protocol_suite_part_ii.htmlhtml

HTTP

參考:
https://www.jianshu.com/p/80e25cb1d81a
http://www.ruanyifeng.com/blog/2016/08/http.htmljava

  • 超文本傳輸協議
  • 用於從萬維網(WWW:World Wide Web)服務器傳輸超文本到本地瀏覽器的傳送協議
  • 1.0版規定,頭信息必須是 ASCII 碼,後面的數據能夠是任何格式

HTTP Request(請求)

第一部分:請求行,依次是請求類型、要訪問的資源、HTTP版本
第二部分:請求頭,用來講明服務器要使用的附加信息
第三部分:空行
第四部分:請求數據瀏覽器

POST /xxxx.jpg HTTP/1.1
Host: www.xxxx.com
Connection: ...
User-Agent: ...
Cookie: ...

name=Professional%20Ajax&publisher=Wiley

HTTP Response(響應)

第一部分:狀態行,由HTTP版本、狀態碼、狀態消息組成
第二部分:消息報頭,用來講明客戶端要使用的一些附加信息
第三部分:空行
第四部分:響應正文,服務器返回給客戶端的文本信息緩存

HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8

<html>
  <head></head>
  <body>
    <h1>Welcome to Uganda!</h1>
  </body>
</html>

HTTP 狀態碼

  • 1xx:指示信息--表示請求已接收,繼續處理
  • 2xx:成功--表示請求已被成功接收、理解、接受
  • 3xx:重定向--要完成請求必須進行更進一步的操做
  • 4xx:客戶端錯誤--請求有語法錯誤或請求沒法實現
  • 5xx:服務器端錯誤--服務器未能實現合法的請求

常見狀態碼:服務器

  • 200 OK //客戶端請求成功
  • 400 Bad Request //客戶端請求有語法錯誤,不能被服務器所理解
  • 401 Unauthorized //請求未經受權,這個狀態代碼必須和WWW-Authenticate報頭域一塊兒使用
  • 403 Forbidden //服務器收到請求,可是拒絕提供服務
  • 404 Not Found //請求資源不存在,eg:輸入了錯誤的URL
  • 500 Internal Server Error //服務器發生不可預期的錯誤
  • 503 Server Unavailable //服務器當前不能處理客戶端的請求,一段時間後可能恢復正常

常見的Content-Type字段的值

  • text/plain
  • text/html
  • text/css
  • image/jpeg
  • image/png
  • image/svg+xml
  • audio/mp4
  • video/mp4
  • application/javascript
  • application/pdf
  • application/zip
  • application/atom+xml

HTTP1.0和HTTP1.1

參考:
http://blog.csdn.net/elifefly/article/details/3964766app

  1. 請求頭Host字段,一個服務器多個網站
  2. 長連接
  3. 文件斷點續傳
  4. 身份認證,狀態管理,Cache緩存

HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法
HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法tcp

  • GET 請求指定的頁面信息,並返回實體主體。
  • HEAD 相似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭
  • POST 向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會致使新的資源的創建和/或已有資源的修改。
  • PUT 從客戶端向服務器傳送的數據取代指定的文檔的內容。
  • DELETE 請求服務器刪除指定的頁面。
  • CONNECT HTTP/1.1協議中預留給可以將鏈接改成管道方式的代理服務器。
  • OPTIONS 容許客戶端查看服務器的性能。
  • TRACE 回顯服務器收到的請求,主要用於測試或診斷。

HTTPS

參考:
http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html
http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.htmlide

服務器的公鑰和私鑰只須要用到一次,只用於加密和解密"對話密鑰"(非對稱加密)
握手以後的對話使用"對話密鑰"加密(對稱加密)

TCP

相關文章
相關標籤/搜索