一次完整的http的请求过程与https的实现
一次完整的http請求過程:
(1)發起請求建立連接; ?三次握手 接收請求或拒絕請求
(2)接受請求
來自網絡的請求報文中對某資源的一次請求過程;
并發訪問響應模型(Web I/O);
????????單進程I/O結構:啟動一個進程處理用戶請求,而且一次只處理一個;多個請求被串行響應
????????多進程I/:并行啟動多個進程,每個進程響應一個請求
????????復用I/O結構:一個進程響應n個請求:
????????????多線程模型:一個進程生成n個線程,每個線程響應一個請求;
事件驅動機制:event-driven
復用的多進程I/O結構:啟動多個(m)進程,每個進程響應n個請求;
(3) 處理請求 ;對請求報文進行解析,并獲取請求資源及請求方法等相關信息
元數據: 請求報文首部
<method> <URL> <VERSION>
Host:www.magedu.com 請求主機名稱
Connection:
(4)訪問資源 : 獲取請求報文中請求的資源
web服務器,即存放了web資源的服務器,負責向請求者提供對方請求的靜態資源,或動態運行后的資源;這些資源放置于本地文件系統某路徑下,此路徑通常稱為文檔根(DocRoot)
web服務器資源路徑映射方式:
(a)docroot
(b)alias
(c)虛擬機docroot
(d)家目錄docroot
(5)構建響應報文
資源MIME資源:
????顯示分類
魔法分類
協商分類
URL重定向:
web服務構建的響應并非客戶端請求的資源,而是資源另外一個訪問路徑;
(6)發送響應報文
? ??(7)記錄日志
最后,當事務結束時,Web服務器會在日志文件中添加一個條目,來描述已執行的事務
https實現
? ??安裝ssl這個模塊
????????如果忘記格式內容可以查看上述配置文件文件
????生成自簽發證書CA
????cd?/etc/pki/CA/(umask?066;openssl?genrsa?-out?private/cakey.pem?2048)openssl?req?-new?-x509?-key?private/cakey.pem?-out?cacert.pem?-days?3650openssl?x509?-in?cacert.pem?-noout?-text查看自簽名證書touch?index.txtecho?00?>?serial目錄樹如下格式
生成私鑰,既然是提供給web服務器使用,最好將私鑰放在服務器自己的配置文件里,也可以單獨建一個文件夾專門管理
????cd?/etc/httpd/conf.d/????mkdir?ssl????cd?ssl/?私鑰請求和證書都放在這里生成私鑰,申請證書
????????????????????(umask?066;openssl?genrsa?-out?httpd.key?1024)????????????????????openssl?req?-new?-key?httpd.key?-out?httpd.csr將證書申請傳給CA
????????????????????scp?httpd.csr?192.168.77.7:/etc/pki/CA/簽發證書
????????????????????openssl?ca?-in?httpd.csr?-out?certs/httpd.crt?-days?363頒發證書
????????????????????scp?certs/httpd.crt?192.168.77.6:/etc/httpd/conf.d/ssl/配web服務器,讓web服務器用到這些證書
scp?cacert.pem?192.168.77.6:/etc/httpd/conf.d/ssl/將根證書導入到受信任的頒發機構
修改host文件C:\Windows\System32\drivers\etc\host
192.168.77.6 www.a.com
轉載于:https://blog.51cto.com/13157090/1971001
總結
以上是生活随笔為你收集整理的一次完整的http的请求过程与https的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结对项目第二次作业
- 下一篇: grub2从usb启动