计算机网络之Web应用
1、web與HTTP
world Wide Web:
網(wǎng)頁
網(wǎng)頁互相鏈接
網(wǎng)頁包含多個對象:
對象: HTML文件、JPEG圖片、視頻文件、動態(tài)腳本等
基本HTML文件: 包含對其他對象引用的鏈接
對象的尋址:
URL(Uniform Resource Locator):統(tǒng)一資源定位器
Scheme://host:port/path
2、HTTP協(xié)議概述
萬維網(wǎng)應(yīng)用遵循超文本協(xié)議(HyperText Transfer Protocol)
C/S結(jié)構(gòu)
客戶——Browser:請求、接收、展示W(wǎng)eb對象
服務(wù)器——Web Server:響應(yīng)客戶的請求,發(fā)送對象
HTTP版本
1.0:RFC 1945
1.1:RFC 2068
使用TCP傳輸服務(wù):
服務(wù)器在80端口等待客戶的請求
瀏覽器發(fā)起服務(wù)器的TCP連接(創(chuàng)建套接字Socket)
服務(wù)器接受來自瀏覽器的TCP連接
瀏覽器(HTTP客戶端)與Web服務(wù)器(HTTP服務(wù)器)交換HTTP消息
關(guān)閉TCP連接
無狀態(tài):
服務(wù)器不維護(hù)任何有關(guān)客戶端過去所發(fā)請求的信息
有協(xié)議的協(xié)議更復(fù)雜:
需維護(hù)狀態(tài)(歷史信息)
如果客戶或服務(wù)器失效,會產(chǎn)生狀態(tài)的不一致,解決這種不一致代價高
HTTP連接的兩種類型
1、 非持久性連接
每個TCP連接最多允許傳輸一個對象
HTTP1.0版本使用非持久性連接
問題:
1)每個對象需要2個RTT
2)操作系統(tǒng)需要為每個TCP連接開銷資源
2、 持久性連接
每個TCP連接允許傳輸多個對象
HTTP1.1版本默認(rèn)使用持久性連接
發(fā)送響應(yīng)后,服務(wù)器保持TCP連接的打開
后續(xù)的HTTP消息可以通過這個連接發(fā)送
HTTP請求消息
請求消息:ASCII 人直接可讀
響應(yīng)消息
Cookie技術(shù)
某些網(wǎng)站為了辨別用戶身份、進(jìn)行session跟蹤而儲存在用戶本地終端上的數(shù)據(jù)(通常經(jīng)過加密)
Cookie的組件
HTTP響應(yīng)消息的cookie頭部行
HTTP請求消息的cookie頭部行
保存在客戶端主機(jī)上的cookie文件,由瀏覽器管理
Web服務(wù)器端的后臺數(shù)據(jù)庫
原理
作用:
身份認(rèn)證、購物車、推薦等
Web緩存/代理服務(wù)
功能:在不訪問服務(wù)器的前提下滿足客戶端的HTTP請求
Web緩存/代理服務(wù)器:
1、用戶設(shè)定瀏覽器通過緩存進(jìn)行Web訪問
瀏覽器向緩存/代理服務(wù)器發(fā)送所有的HTTP請求
如果所請求對象在緩存中,緩存返回對象
否則,緩存服務(wù)器向原始服務(wù)器發(fā)送HTTP請求,獲取對象,然后反水給客戶端并保存該對象
2、緩存既充當(dāng)客戶端,也充當(dāng)服務(wù)器
3、一般由ISP(Internet服務(wù)提供商)架設(shè)
條件性Get方法
目標(biāo):如果緩存有最新的版本,則不需要發(fā)送請求對象
緩存:在HTTP請求消息中聲明所持有版本的日期
服務(wù)器:如果緩存的版本是最新的,則響應(yīng)消息中不包含對象
總結(jié)
以上是生活随笔為你收集整理的计算机网络之Web应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客 21302 被3整除的子序列 (动
- 下一篇: linux的常用操作——open函数