中科大 計算機網絡12 Web和HTTP

Web與HTTP

對象:web頁中其實是對象鏈接
URL:通用資源定位符【任何對象都可以使用URL來唯一標識】
用戶名:口令【支持匿名訪問,用戶名和口令不計】
端口:HTTP:80 FTP:21【使用默認端口號,無特殊情況不需要手動輸入】

HTML【baseHTML,圖片鏈接URL…】–》瀏覽器解析–》服務器拉去URL資源–》訪問web頁面
HTTP目前已經是HTTP3
HTTP1.0 HTTP1.1 HTTP2 HTTP3
在這里插入圖片描述

HTTP概況

HTTP超文本協議【不是線性的文本,是文本與文本之間任意地指向關系】

建立連接-》發送HTTP請求-》服務器收到請求后,把客戶端請求的對象封裝為HTTP響應的報文發送回來
不同廠商生產的瀏覽器能夠進行通信:彼此都遵守HTTP協議

在這里插入圖片描述
HTTP跑在TCP之上,建立連接之后有一個TCP Socket
守候的Socket【等待連接建立請求的Socket】,連接的Socket

建立連接之后,使用HTTP請求–》服務器

HTTP:無狀態,服務器不需要維護客戶的狀態【無狀態服務器】
在這里插入圖片描述

在這里插入圖片描述

HTTP連接

web應用通信需要下層的實體依次交互才能完成
有些文件傳輸跑在HTTP上

HTTP/1.0非持久
TCP連接請求-》TCP連接確認–》http請求–》交換http報文–》TCP連接關閉
在這里插入圖片描述

HTTP1.1 【持久連接】
TCP連接請求-》TCP連接確認–》http請求–》交換http報文–》連接不關閉,如果還有其他的對象請求,仍然在此連接中進行
在這里插入圖片描述

在這里插入圖片描述
調用Socket Api的函數去建立連接【需要一次往返】
在這里插入圖片描述
在這里插入圖片描述
RTT往返時間:請求,請求確認
【客戶端到服務器,再到服務器傳輸回來的時間】
因為分組很小,所以傳輸時間不計算,但傳播需要時間
在這里插入圖片描述
非持久HTTP【1.0】:
1個RTT用來連接建立【一次返轉】
1次對象的傳輸時間

持久HTTP:
1)非流水方式:
在前一個對象回來之后再發送另外一個請求【一次請求和返轉回來的對象只有一個】
2)流水方式:
第一個對象請求發出去,還沒有回來的時候;就接著發出第二個,第三個。。。
減少客戶端請求時間
在這里插入圖片描述

HTTP請求報文

早期:ASCII碼可讀
現在:二進制
請求報文通常沒有實體行【空】
GET:客戶端從服務器請求資源
POST:客戶端向服務器上載(上傳)資源
Head命令:請求頭,用來建立索引或用來維護

Host:主機名/主機域名
User-agent:用戶代理的程序【瀏覽器版本】
Connection:連接
在這里插入圖片描述

在這里插入圖片描述
+:與符號
在這里插入圖片描述
在這里插入圖片描述

HTTP響應報文

Last-Modefied:上一次修改日期,相當于版本號

采用TCP,需要自己維護報文和報文的界限,【應用進程需要自己區分哪一個是前面的Message,哪一個是后面的Message(報文)】
HTTP通過報文頭告訴客戶端需要讀取多少個字節,才能讀完整個報文
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

用戶-服務器狀態:Cookies

HTTP協議:是無狀態的協議
服務器不維護客戶端狀態,為了滿足用戶需求【打補丁】
小餅干:Cookie,用來維護客戶端狀態

客戶端:在本地文件夾中保存下來
客戶端第一次訪問時,沒有Cookies,由服務器為它生成一個Cookies【set-cookie】
在這里插入圖片描述
在這里插入圖片描述
Cookie與隱私相違背
在這里插入圖片描述

Web緩存(代理服務器)

1.直接訪問web原始服務器
2.通過代理服務器訪問
這次請求中,緩存的東西被用上了【叫做:被命中了hit】

客戶端:快
服務器:負載更輕
網絡:流量更少
在這里插入圖片描述
互聯網二八分布:
80%的人使用20%的熱點信息【訪問具有一定的趨同性】
在這里插入圖片描述

緩存示例

15個對象/s:每秒鐘會帶來15bit的流量回來
單位時間內的流量為1.5Mbps=15請求/s*100kb
RTT往返時間=2s
在這里插入圖片描述
在這里插入圖片描述
I:流量強度
t:接入延遲
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
ISP:更高的帶寬的接入鏈路
在這里插入圖片描述
安裝本地緩存(代理服務器):
1)本地訪問0.4-代理服務器
2) 遠程訪問0.6-原始服務器
0.4t1+0.6t2=t【加權平均】
t1=10ms
t2=10ms+2s+接入延遲【取決于流量強度】
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

條件GET方法

conditional get:條件式獲取
在請求報文中加入頭部if-modified-since
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/446404.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446404.shtml
英文地址,請注明出處:http://en.pswp.cn/news/446404.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

STL源碼剖析 關聯式容器 樹 紅黑樹、二叉搜索樹、平衡二叉搜索樹

所謂關聯式容器,觀念上類似關聯式數據庫(實際上則簡單許多):每筆數據(每個元素)都有一個鍵值(key)和一個實值(value) 2。當元素被插入到關聯式 容器中時,容器內部結構(可能是RB-tree,也可能是hash-table)便依照其鍵 值大小,以某種…

北京大學 軟件工程1 軟件 軟件工程 軟件開發 軟件工程框架

軟件的定義 重新定義軟件 新一代信息技術 區塊鏈 創造性思維 軟件的特點 軟件的種類 支撐軟件:VC,PyCharm等 應用軟件:QQ,微信 軟件工程的起源 軟件開發的三個階段 軟件工程概念的提出 軟件工程的定義 軟件工程將系統化&#…

java學習_Python基礎學習教程:從0學爬蟲?讓爬蟲滿足你的好奇心

Python基礎學習教程:從0學爬蟲?讓爬蟲滿足你的好奇心有必要學爬蟲嗎?我想,這已經是一個不需要討論的問題了。爬蟲,“有用”也“有趣”!這個數據為王的時代,我們要從這個龐大的互聯網中來獲取到我…

安卓rom制作教程_安卓手機TWRP_Recovery卡刷圖文教程 適用于卡刷ROM,TWRP救磚

掃一掃二維碼,關注我,解決刷機各種疑難雜癥 ROM樂園獨家支持最近有很多小伙伴問怎么去卡刷,卡刷的操作是什么,什么是卡刷,小編就仔細來寫一下卡刷教程吧,記住,我們所說的卡刷,并不是…

東軟 軟件工程1 軟件危機 軟件工程 軟件生命周期

軟件危機 軟件危機產生的原因 消除軟件危機的途徑: 軟件工程歷史 軟件工程的概念 軟件工程項目的基本目標 軟件工程的基本原理 軟件生命周期 軟件工程的中的軟件生命周期

iphone全部機型_iPhone 12 銷量或創 iPhone 6 以來最高|iphone|郭明錤

iPhone 12 系列目前正在預售中,本周五兩款 英寸機型就將正式上市。有不少小伙伴已經成功預購到了首批 iPhone 12,另有一些用戶仍在持幣觀望,等待第三方平臺報出更便宜的價格。而從 iPhone 12 的預售情況來看,兩款 英寸機型還是相當…

東軟 軟件工程2 軟件開發模型 瀑布模型 原型模型 螺旋模型 統一過程模型RUP 敏捷開發模型

軟件開發過程模型 瀑布模型 原型模型 螺旋模型 統一過程模型-RUP 敏捷開發模型 敏捷開發模型:Scrum方法 敏捷開發模型:進行Scrum開發

算法 筆試的時候 如何輸入元素?

/* * 長度 3* 數組 1 2 3* 注意&#xff1a;元素之間以空格相隔 */int length 0;std::cin >> length;getchar();std::vector<int>input_vector{};for (int i 0; i < length; i) {int temp 0;std::cin >> temp;input_vector.emplace_back(temp);} 使…

自動點擊器一秒200_做PPT還需要找模板?用這招3分鐘就能自動排好PPT!

點擊上圖直達活動詳情頁&#xff0c;優惠券超 400 元&#xff01;大家好&#xff0c;我是愛挖神器的潔潔。今天我來跟大家聊聊「PPT里的神器」~我們每次做 PPT 的時候&#xff0c;經常面對的一個難題就是&#xff1a;如&#xff01;何&#xff01;排&#xff01;版 ?比如像這樣…

東軟 軟件工程3 軟件項目管理 團隊組織管理

團隊組織管理 團隊的概念 項目組的組織原則 項目組的組織方式 軟件項目管理過程組

dedecms怎么改php版本_玩轉Termux:手把手教你在手機上安裝php與nginx!

大家好&#xff0c;這里是 「手機編程」&#xff0c;我是作者&#xff1a;舞劍&#xff0c;記得「關注我」今天是Termux系列第三節&#xff0c;我來講講怎么安裝 PHP 與 Mysql&#xff0c;然后用 Termux 搭建一個網站。PHP全球有幾乎95%的網站都使用 php 需要編寫的&#xff0c…

Python學習8 函數 匿名函數 內置函數

轉換相關的方法-eval 轉換相關的方法-json 函數基本語法大綱 函數概念 示例&#xff1a; 題目&#xff1a; 函數的參數 def f(x,y1,*z,**abc):print(x,y,z,abc,sep"\n")f(1,4,5,3,a1,b2,c3) #1 # 4 # (5, 3) # {a: 1, b: 2, c: 3}易錯題&#xff1a; 1&#xff0…

求兩個集合的交集

letcode原題 排序雙指針 如果兩個數組是有序的&#xff0c;則可以使用雙指針的方法得到兩個數組的交集。首先對兩個數組進行排序&#xff0c;然后使用兩個指針遍歷兩個數組。初始時&#xff0c;兩個指針分別指向兩個數組的頭部。每次比較兩個指針指向的兩個數組中的數字&#…

Python學習7 集合Set

區別 集合的基本使用 如果是空集合&#xff0c;使用set {}是字典 pop:無序&#xff0c;隨機刪除一個元素 add添加一個元素 remove移除指定元素 update合并&#xff0c;合并在原集合上 union合并到一個新的集合上 clear清空 總結&#xff1a; 集合運算 補集&#xff1a; f…

cad怎么快速算面積_用cad算面積的快捷鍵方法步驟詳細,大朗CAD培訓班

在繪圖的過程中經常需要查詢和計算圖形的面積&#xff0c;網上有不少人問這方面的問題。都市領航教育將計算面積的方法和相關命令整理一下&#xff0c;希望對初學者有幫助。 查詢圖形的面積 我們利用邊界或編輯多段線命令生成了多段線和面域&#xff0c;不需要再使用查詢面積命…

給定沒有重復數字的序列,將其全排列

leetcode題目 void backtrack(vector<vector<int>>& res, vector<int>& output, int first, int len){if (firstlen){res.push_back(output);}for (int i first; i < len; i) {std::swap(output[first],output[i]);backtrack(res,output,first1,…

Java web后端4 會話 Cookie Session

會話 會話&#xff1a;指的是一個客戶端&#xff08;瀏覽器&#xff09;與Web服務器之間連續發生的一系列請求和響應的過程。 客戶端和服務器的請求和響應的過程&#xff08;對話雙方只要有一方發生變化&#xff0c;都屬于不同的會話&#xff09; 超時間隔【距離上一次請求的…

將安全信息應用到以下對象時發生錯誤 拒絕訪問_手機資訊:拒絕「京東金融」事件再次發生|如何避免iPhone 應用私自獲取照片...

如今使用IT數碼設備的小伙伴們是越來越多了&#xff0c;那么IT數碼設備當中是有很多知識的&#xff0c;這些知識很多小伙伴一般都是不知道的&#xff0c;就好比最近就有很多小伙伴們想要知道拒絕「京東金融」事件再次發生|如何避免iPhone 應用私自獲取照片&#xff0c;那么既然…

走臺階一共有多少種走法

可以走1臺階 2臺階 3臺階 long long MoveStairs(int total){if (total < 4) {return total 3 ? 4 : total;}int a 1, b 2, c 4;for (int i 4; i < total; i) {int temp (a b) % 1000000007 c;a b;b c;c temp % 1000000007;}return c; }