* 基于B/S模式
* 通信開銷小、簡單快速、傳輸成本低
* 使用靈活、可使用超文本傳輸協議
* 節省傳輸時間
* 無狀態
>* HTTPS
> HTTPS是基于SSL/TLS的傳輸協議,所有HTTP數據都是封裝后傳輸的
> HTTPS是`非對稱加密`后,進行`對稱加密`。第一次認證的時候傳輸的是`對稱加密`的`秘鑰`;
> > 握手過程
> > 1. 客戶端向服務器傳送客戶端SSL 協議的版本號,加密算法的種類,產生的隨機數,以及其他通訊所需要的各種信息
> > 2. 服務器向客戶端傳送SSL 協議的版本號,加密算法的種類,隨機數以及其他相關信息,同時服務器還將向客戶端傳送自己的證書
> > 3. 驗證服務器的合法性
> > >* * 證書是否過期
> > >* * 發行服務器證書的CA 是否可靠
> > >* * 能否正確解開服務器證書的“發行者的[數字簽名]”
> > >* * 服務器證書上的域名是否和服務器的實際域名相匹配
> > >* * 用戶端隨機產生`對稱秘鑰`,服務器的公鑰對其加密,傳給服務器。
> > >* * 如果服務器要求客戶的身份認證(可選),用戶可以建立一個隨機數然后對其進行數據簽名,將這個含有簽名的隨機數和客戶自己的證書以及加密過的`對稱秘鑰`一起傳給服務器。
> > >* * 服務器驗證客戶的證書及隨機數的簽名是否合法
> > >* * 服務器和客戶端 都使用 `對稱秘鑰` 進行通信
> > >* * 客戶端發出信息,指明 對稱秘鑰,同時握手過程結束
> > >* * 服務器發出信息,指明 對稱秘鑰,同時握手過程結束
> > >* * SSL握手結束,客戶端和服務器用相同的 秘鑰 進行通訊,同時驗證數據的完整性
>* HTTP
> 客戶端發送請求給服務器,創建一個`TCP`連接,指定端口號,默認80
> 連接到服務器,服務器監聽瀏覽器請求,一旦監聽到客戶端請求,分析請求類型后,服務器會向客戶端返回狀態信息和數據內容
HTTP 協議中共定義了八種方法或者叫“動作”來表明對 Request-URI 指定的資源的不同操作方式,具體介紹如下:
* OPTIONS:返回服務器針對特定資源所支持的HTTP請求方法。也可以利用向Web服務器發送'\*'的請求來測試服務器的功能性。
* HEAD:向服務器索要與GET請求相一致的響應,只不過響應體將不會被返回。這一方法可以在不必傳輸整個響應內容的情況下,就可以獲取包含在響應消息頭中的元信息。
* GET:向特定的資源發出請求。
* POST:向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會導致新的資源的創建和/或已有資源的修改。
* PUT:向指定資源位置上傳其最新內容。
* DELETE:請求服務器刪除 Request-URI 所標識的資源。
* TRACE:回顯服務器收到的請求,主要用于測試或診斷。
* CONNECT:HTTP/1.1 協議中預留給能夠將連接改為管道方式的代理服務器。
- 簡介
- PHP
- 字符串函數
- 數組函數
- 正則
- 加密函數
- 面向對象
- 關鍵字
- 設計模式
- 魔術方法
- 機制擴展
- 會話機制
- PHP框架
- laravel
- 問題
- swoole
- easyswoole
- workerman
- 數據庫
- Sphinx
- MongoDB
- MemCache
- Redis
- 基礎操作
- 數據類型
- 持久化
- 分布式鎖
- 內存模型
- redis高級特性
- MySql
- 基礎操作
- 數據類型
- 數據表引擎
- 鎖機制
- 事務處理
- 存儲過程
- 觸發器
- 索引
- 關聯查詢
- 分析SQL語句-優化查詢
- 分區分表
- 主從復制
- MySql安全性
- 網絡協議
- HTTP
- header詳解
- 狀態碼
- nginx-配置
- 邏輯算法
- 時間和空間復雜度
- 常見算法
- 數據結構
- 核心
- 進程、線程、協程
- 存儲容量-計量單位
- 開發軟件及配置
- 版本控制器
- Git
- Fidder
- Fidder-Android7
- 自動化部署
- Jenkins
- supervisor
- Elasticsearch
- LogStash
- RabbitMQ
- AB測試
- JAVA-JDK
- FileBeat
- PhpStorm
- Composer
- Linux
- API安全
- 高并發及大流量相關概念
- 網站優化
- WEB
- Electron