版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、萬維網(wǎng)架構(gòu)用超文本技術(shù)HTML實(shí)現(xiàn)信息與信息的連接,用統(tǒng)一資源標(biāo)志符URI實(shí)現(xiàn)全球信息的精確定位,用應(yīng)用層協(xié)議HTTP實(shí)現(xiàn)分布式的信息共享。HTTP超文本傳輸協(xié)議描述了W eb客戶端如何從Web服務(wù)器請(qǐng)求Web頁面,以及服務(wù)器如何把Web頁面?zhèn)魉徒o客戶的過程和相關(guān)消息。一個(gè)HTTP請(qǐng)求和響應(yīng)的基本過程是當(dāng)用戶通過點(diǎn)擊某個(gè)HTML頁面中的超鏈接或者直接在瀏覽器中輸人網(wǎng)址來請(qǐng)求一個(gè)Web頁面時(shí),瀏覽器把該頁面中各個(gè)對(duì)象的HTTP請(qǐng)求消息發(fā)送給服務(wù)器,服務(wù)器收到請(qǐng)求后,將這些對(duì)象包含在HTTP響應(yīng)消息中作為響應(yīng)反饋給服務(wù)器。通常情況下HTTP協(xié)議由TCP傳輸協(xié)議承載,現(xiàn)網(wǎng)中大量HTTP連接還需要經(jīng)過
2、TLS或者SSL層封裝,架構(gòu)在SSL層之上的HTTP協(xié)議通常稱為HTTPS( Hypertext Transfer Protocol over Secure SocketLayer)協(xié)議。HTTP瀏覽器首先發(fā)起建立與服務(wù)器的TCP連接,連接建立,客戶端和服務(wù)器的HTTP進(jìn)程就可以通過各自的套接字(Socket)來訪問下層的TCP進(jìn)程??蛻舳丝梢酝ㄟ^套接字發(fā)送HTTP清求消息也可以從自己的套接字接收HTTP響應(yīng)消息;服務(wù)器從自己的套接字接收HTTP請(qǐng)求消息也可以往自己的套接字發(fā)送HTTP響應(yīng)消息。客戶端或服務(wù)器端HTTP進(jìn)程一旦把某個(gè)消息送入各自的套接字,這個(gè)消息就由TCP進(jìn)程來控制發(fā)送。TCP
3、給HTTP提供一個(gè)可靠的數(shù)據(jù)傳輸服務(wù)。HTTP協(xié)議是一個(gè)無狀態(tài)的協(xié)議,即客戶端向服務(wù)器端發(fā)送出請(qǐng)求時(shí),服務(wù)器并沒有存儲(chǔ)關(guān)于該客戶端和請(qǐng)求的任何狀態(tài)信息。即便同個(gè)客戶端在幾秒鐘內(nèi)再次請(qǐng)求同一個(gè)對(duì)象,服務(wù)器也不會(huì)響應(yīng)說自己剛剛給它發(fā)送了這個(gè)對(duì)象。相反,服務(wù)器會(huì)重新發(fā)送這個(gè)對(duì)象,因?yàn)樗]有存儲(chǔ)該客戶端的任何狀態(tài)信息,同一個(gè)客戶端的多次請(qǐng)求之間沒有任何關(guān)系。 HTTP協(xié)議是一個(gè)標(biāo)準(zhǔn)的請(qǐng)求+響應(yīng)”協(xié)議,即客戶端與服務(wù)器建立連接后,就向服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求,HTTP協(xié)議規(guī)定請(qǐng)求消息中包含請(qǐng)求方法,如獲取某個(gè)對(duì)象、刪除某個(gè)對(duì)象,統(tǒng)一資源標(biāo)識(shí)符(操作對(duì)象的位置和名稱),HTTP協(xié)議版本以及其它相關(guān)信息
4、。服務(wù)器收到請(qǐng)求消息后發(fā)送響應(yīng)消息,響應(yīng)消急中包含了HTTP協(xié)議版本、成功或者錯(cuò)誤的代碼以及其它相關(guān)信息。HTTP協(xié)議定義了各種各樣的緩存控制方法,緩存可以按照以下的基本原則工作: 如果響應(yīng)消息的頭信息告訴緩存不要保留副本,緩存就不會(huì)緩存相應(yīng)內(nèi)容。如果請(qǐng)求信息需要源服務(wù)器認(rèn)證或者涉及安全協(xié)議,相應(yīng)的請(qǐng)求內(nèi)容也不會(huì)被緩存。如果緩存的內(nèi)容含有以下信息,內(nèi)容將會(huì)被認(rèn)為是足夠新的,因此不需要從源服務(wù)器重新獲取內(nèi)容1)含有過期時(shí)間和壽命信息。并且此時(shí)內(nèi)容仍沒有過期。2)緩存內(nèi)容近期被用來提供過服務(wù),并且內(nèi)容的最后更新時(shí)間相對(duì)于最近使用的時(shí)間較久。如果緩存的內(nèi)容已經(jīng)過期,緩存服務(wù)器將向源服務(wù)器發(fā)出驗(yàn)證請(qǐng)求
5、(通過ETag頭信息或者Lest-Modified頭信息),用于確定是否可以繼續(xù)使用當(dāng)前內(nèi)容直接提供服務(wù)。在某些情況下(比如源服務(wù)器從網(wǎng)絡(luò)中斷開了),緩存的內(nèi)容在過期的情況下也可以直接提供服務(wù)。如果在響應(yīng)消息中不存在用于判斷內(nèi)容是否變化的驗(yàn)證值(ETag頭信息或者Last-Modified頭信息),并月也沒有其他任何明顯的新鮮度信息,內(nèi)容通常不會(huì)被緩存。以上原則告訴我們新鮮度和驗(yàn)證是確定內(nèi)容是否可直接提供服務(wù)的最重要依據(jù)。如果緩存內(nèi)容足夠新鮮,緩存的內(nèi)容就能直接滿足HTTP訪問的需求了;如果內(nèi)容過期,而經(jīng)源服務(wù)器驗(yàn)證后發(fā)現(xiàn)內(nèi)容沒有發(fā)生變化,緩存服務(wù)器也會(huì)避免將內(nèi)容從源服務(wù)器重新傳輸一遍。一、常
6、用控制緩存參數(shù):(1)HTML META標(biāo)簽和HTTP頭信息HTML文件的編寫者會(huì)在文檔的<HEAD>區(qū)域中加人描述文檔的各種屬性,這些META標(biāo)簽常常被用于標(biāo)記文檔可不可以被緩存或者標(biāo)記多長時(shí)間后過期。META標(biāo)簽使用很簡單,但是效率并不高,因?yàn)槟軌蜃x懂這個(gè)標(biāo)記的瀏覽器只有少數(shù)幾種,同時(shí)由于中間緩存幾乎完全不解析文檔中的HTML內(nèi)容,所以也沒有什么中間緩存(代理緩存和網(wǎng)關(guān)緩存)能讀懂這個(gè)規(guī)則。如果要通過META標(biāo)簽來控制頁面不緩存,一般情況下會(huì)在Web頁面的<HEAD>區(qū)域中增加“Poagma: no-cache”的META標(biāo)記。(2)使用Expires(過期時(shí)間)頭
7、信息來控制保鮮期,通常情況下,主要通過HTTP頭信息來指示緩存和控制內(nèi)容是否緩存。這些控制信息在HTML代碼中是看不見的,一般由Web服務(wù)器自動(dòng)生成,并在HTTP消息中進(jìn)行標(biāo)識(shí)。Expires方式是HTTP控制緩存的基本手段,這個(gè)屬性告訴緩存相關(guān)內(nèi)容在多長時(shí)間內(nèi)是新鮮的。過了這個(gè)時(shí)間,如果客戶端向緩存請(qǐng)求這個(gè)內(nèi)容,緩存就會(huì)向源服務(wù)器發(fā)送請(qǐng)求,檢查文檔是否發(fā)生了變化。幾乎所有的緩存服務(wù)器都支持Expires方式。大部分Web服務(wù)器設(shè)置Expires方式有多種,最常用的是設(shè)置成一個(gè)絕對(duì)的時(shí)間值,比如將內(nèi)容最后被修改的時(shí)間點(diǎn)加上一個(gè)特定的時(shí)間段(比如1個(gè)小時(shí))所得到的時(shí)間值。Expires頭信息對(duì)于
8、控制靜態(tài)圖片文件的緩存特別有用,因?yàn)檫@些圖片修改很少,可以給它們?cè)O(shè)置一個(gè)特別長的過期時(shí)間,這樣會(huì)使得你的網(wǎng)站訪問速度非???。Expire,頭信息屬性值只能是HTTP格式的日期時(shí)間,其他的都會(huì)被解析成當(dāng)前時(shí)間“之前”,即表示此內(nèi)容已經(jīng)過期,HTTP的日期時(shí)間必須是格林尼治時(shí)間(OMT),而不是本地時(shí)間。雖然過期屬性非常有用,但它還是有些局限,首先是源服務(wù)器的時(shí)間和中間緩存的時(shí)間必須是同步的。如果彼此不同步,則會(huì)出現(xiàn)應(yīng)該緩存的內(nèi)容提前過期了、或者已經(jīng)過期的結(jié)果沒有及時(shí)更新。其次是過期時(shí)間的設(shè)置也存在一定的問題。如果設(shè)置的過期時(shí)間是一個(gè)固定的時(shí)間,而返回內(nèi)容的時(shí)候沒有更新下次過期的時(shí)間,那么之后所有
9、訪問請(qǐng)求都需要重新發(fā)給源Web服務(wù)器,這樣反而增加了服務(wù)器的負(fù)載以及響應(yīng)時(shí)間。(3)驗(yàn)證在NTTP 1.1中對(duì)緩存提出了驗(yàn)證的概念,驗(yàn)證的目的就是檢驗(yàn)緩存內(nèi)容是否可用。當(dāng)中間緩存存在一個(gè)過期的緩存內(nèi)容,并且對(duì)應(yīng)的訪問請(qǐng)求到達(dá)時(shí),緩存應(yīng)該首先向源服務(wù)器或者其他保存有未過期的緩存服務(wù)器請(qǐng)求驗(yàn)證來確定本地的緩存內(nèi)容是否可用。這個(gè)過程就是一個(gè)緩存消息的驗(yàn)證過程。HTTP 1.1把這種驗(yàn)證后再?zèng)Q定是否返回消息內(nèi)容的方式叫“有條件”的請(qǐng)求返回方法,這樣可以避免從源服務(wù)器或其他緩存服務(wù)器獲取整個(gè)內(nèi)容的信息,從而減少網(wǎng)絡(luò)流量。當(dāng)源服務(wù)器生成了一個(gè)完整的響應(yīng)消息時(shí),它會(huì)附帶一個(gè)驗(yàn)證信息,中間緩存在緩存內(nèi)容時(shí)可以
10、保存這個(gè)驗(yàn)證信息,當(dāng)緩存內(nèi)容過期以后,中間緩存可以使用它生成一個(gè)“有條件”的請(qǐng)求來向源服務(wù)器請(qǐng)求驗(yàn)證。而源服務(wù)器或者在與源服務(wù)器通信的路徑上的其他緩存服務(wù)器(如果保存有未過期的內(nèi)容)在收到這樣的請(qǐng)求以后就可以將請(qǐng)求中包含的驗(yàn)證信急與自己本地的驗(yàn)證信息進(jìn)行比較。如果兩個(gè)驗(yàn)證信息相等,那么返回一個(gè)帶有特定狀態(tài)碼(比如304 Not Modified,表示內(nèi)容未修改過)且消息主體內(nèi)容為空的響應(yīng)消息,在這種情況下就減少了網(wǎng)絡(luò)流量;如果兩個(gè)驗(yàn)證信息不相等就需要傳輸一個(gè)包含新內(nèi)容的完整響應(yīng)消息。(4)Cache-Control(緩存控制)HTTP頭信息,指定過期時(shí)間和驗(yàn)證是HTTP 1.1的基本緩存機(jī)制,
11、也是緩存的隱含指令。但是在某些情況下,服務(wù)器或客戶端可能需要給HTTP緩存提供顯式的指令。Cache-Control響應(yīng)頭信息包括如下幾項(xiàng):max-age緩存內(nèi)容保持新鮮狀態(tài)的最長時(shí)間。這個(gè)屬性類似于過期時(shí)間,是基于請(qǐng)求時(shí)間的相對(duì)時(shí)間間隔,而不是絕對(duì)過期時(shí)間,單位是秒,即從請(qǐng)求時(shí)間開始到過期時(shí)間之間的秒數(shù)。s-maxage類似于max-age屬性,它應(yīng)用于共享緩存。public此屬性標(biāo)記認(rèn)證內(nèi)容也可以被緩存,一般來說,經(jīng)過HTTP認(rèn)證才能訪問的內(nèi)容是默認(rèn)不能緩存的。no-cache強(qiáng)制將每次訪問請(qǐng)求直接發(fā)送給源服務(wù)器,而不經(jīng)過中間緩存進(jìn)行前面提到的驗(yàn)證。這對(duì)那些需要在源服務(wù)器進(jìn)行用戶認(rèn)證的應(yīng)用
12、非常有用,也適用于那些嚴(yán)格要求使用最新數(shù)據(jù)的應(yīng)用。no-store強(qiáng)制緩存在任何情況下都不要緩存任何內(nèi)容。must-revalidate告訴緩存必須遵循源服務(wù)器賦予的內(nèi)容新鮮度。由于HTTP允許緩存在某些特定情況下返回過期數(shù)據(jù),所以通過指定這個(gè)屬性,源服務(wù)器可以告訴緩存,如果緩存內(nèi)容處于過期狀態(tài),則在對(duì)訪問請(qǐng)求進(jìn)行響應(yīng)前必須到源服務(wù)器進(jìn)行重新驗(yàn)證。proxy-revalidate, proxy-revalidate和must-revalidate基本相同,只是它不能應(yīng)用于非共享的代理緩存。它允許在客戶端緩存中保存那些經(jīng)過權(quán)限認(rèn)證的響應(yīng)消息(包含有"public'來保證它們可以
13、被緩存),在緩存內(nèi)容沒有過期之前,遇到相同的訪問請(qǐng)求則可以返回緩存的數(shù)據(jù)而無須經(jīng)過源服務(wù)器的驗(yàn)證,如果內(nèi)容過期則仍需經(jīng)過服務(wù)器重新驗(yàn)證。對(duì)于服務(wù)于多個(gè)用戶的代理緩存來說,為了保證每個(gè)用戶都是被授權(quán)的,仍需每次都去服務(wù)器進(jìn)行驗(yàn)證這樣的授權(quán)響應(yīng)同樣需要使用public指令來允許它們能夠被緩存)。(5) Pragma HTTP頭信息,除了以上提到的幾種典型緩存控制機(jī)制以外,還有一種使用Pragma HTTP頭信息的方式。Pragma屬于通用頭,用來包含特定的執(zhí)行指令。這些指令可以適應(yīng)于客戶端、代理、網(wǎng)關(guān)、源服務(wù)器中的任何接收者,但是HTTP協(xié)議中認(rèn)為Pragma指令規(guī)定的行為是可選的。當(dāng)"
14、Pragma: no-cache'出現(xiàn)在請(qǐng)求消息中時(shí),即使緩存設(shè)備中緩存了此請(qǐng)求響應(yīng)所需的內(nèi)容,也會(huì)直接將此請(qǐng)求轉(zhuǎn)發(fā)到源服務(wù)器上。雖然在HTTP 1.1中提到了通過Pragma控制緩存的方法,但這主要是為了向HTTP 1.0兼容,因?yàn)橹Т鼿TTP1.0的緩存主要還是通過這種方法來控制內(nèi)容緩存的。HTTP 1.1中主要還是通過前面講到的Cache-Control頭信息來控制緩存,所以協(xié)議要求當(dāng)一個(gè)HTTP 1.1的請(qǐng)求從客戶端發(fā)出時(shí),既應(yīng)該包含Pragma指令,也應(yīng)該包含Cache-control的控制指令,這樣請(qǐng)求從客戶端發(fā)給源服務(wù)器的過程中,分別支持HTTP 1.1和HTTP 1.0
15、的緩存設(shè)備都可以讀懂指令的信息。如果發(fā)送請(qǐng)求的客戶端本身只支持HTTP 1.0,那么支持HTTP 1.1的中間緩存在收到請(qǐng)求消息后必須以Pragma中的指令來控制緩存。 很多人認(rèn)為在HTTP頭信息中設(shè)置了“Pragma.:no-cache"后會(huì)讓內(nèi)容無法被緩存。但事實(shí)并非如此,HTTP的規(guī)范并沒有任何關(guān)于響應(yīng)信息頭Pragma屬性的說明,而討論的都是請(qǐng)求頭信息的Pragma屬性,即頭信息由瀏覽器發(fā)送給服務(wù)器,實(shí)際上只有少數(shù)幾種緩存服務(wù)器會(huì)遵循請(qǐng)求消息中的這個(gè)頭信息。所以,在很多情況下,使用Pragma屬性不一定管用。二、緩存內(nèi)容更新機(jī)制一般來說,Web Cache會(huì)遵循以下基本規(guī)則進(jìn)
16、行內(nèi)容更新:(1)如果HTTP響應(yīng)頭信息告訴Cache不要緩存,那么Cache就不會(huì)緩存相應(yīng)內(nèi)容。(2)如果對(duì)某內(nèi)容的請(qǐng)求信息是需要認(rèn)證或者安全加密的,Cache也不會(huì)緩存相應(yīng)內(nèi)容。(3)如果在HTTP響應(yīng)中沒有ETag或者Last-Modified頭信息,Cache會(huì)認(rèn)為缺乏直接的更新度信息。默認(rèn)該內(nèi)容不可緩存。(4)一個(gè)緩存的副本如果含有以下信息,Cache會(huì)認(rèn)為它是足夠新的,會(huì)直接從緩存中送出,而不會(huì)向源服務(wù)器發(fā)送請(qǐng)求:ü 含有完整的過期時(shí)間和壽命控制的頭信息,并且內(nèi)容仍在生存期內(nèi)。ü 瀏覽器已經(jīng)使用過這個(gè)緩存副本,并且在同一個(gè)會(huì)話中已經(jīng)檢查過內(nèi)容的新鮮度。(5)如果
17、緩存的內(nèi)容副本已經(jīng)舊了,Cache將向源站服務(wù)器請(qǐng)求校驗(yàn),用于確定是否可以繼續(xù)使用當(dāng)前副本繼續(xù)服務(wù)。如果經(jīng)校驗(yàn)后發(fā)現(xiàn)副本的原件沒有變化,Cache會(huì)避免從源站服務(wù)器重新獲取副本。 內(nèi)容更新需要對(duì)內(nèi)容進(jìn)行校驗(yàn),HTTP1.1把這種驗(yàn)證后再?zèng)Q定是否返回消息內(nèi)容的方式叫“有條件,的請(qǐng)求返回方法。校驗(yàn)的工作原理如下 (1)源站服務(wù)器向Cache返回內(nèi)容響應(yīng)消息時(shí),會(huì)附帶一個(gè)驗(yàn)證信息,Cache在緩存內(nèi)容時(shí)保存這個(gè)驗(yàn)證信息。(2)當(dāng)有用戶請(qǐng)求該內(nèi)容時(shí),如果Cache發(fā)現(xiàn)緩存內(nèi)容過期,就使用驗(yàn)證信息生成一個(gè)“有條件”的請(qǐng)求來向源服務(wù)器請(qǐng)求驗(yàn)證。(3)源服務(wù)器在收到這樣的請(qǐng)求以后,將請(qǐng)求中包含的驗(yàn)證信息與自
18、己本地的驗(yàn)證信息進(jìn)行比較。如果兩個(gè)驗(yàn)證信息相等.那么返回一個(gè)帶有特定狀態(tài)碼(比如304 Not ModiFed,表示內(nèi)容未修改過)且消息主體內(nèi)容為空的響應(yīng)消息,表示副本可以繼續(xù)使用;如果兩個(gè)驗(yàn)證信息不相等,源站服務(wù)器就會(huì)向Cache傳輸一個(gè)包含新內(nèi)容的完整響應(yīng)消息。 前面提到了“有條件”的請(qǐng)求,其實(shí)所謂有條件”的請(qǐng)求和普通的請(qǐng)求是一樣的,只是它包含了一個(gè)特殊的驗(yàn)證信息。并且“有條件”的驗(yàn)證包括正驗(yàn)證和負(fù)驗(yàn)證,如果請(qǐng)求中要求服務(wù)器與消息附帶的驗(yàn)證信息必須相等(使用請(qǐng)求消息的“If-Match”頭)的則是正驗(yàn)證,如果要求兩者不相等(使用請(qǐng)求消息的“If-None-Match”頭)的是負(fù)驗(yàn)證。HTT
19、P 1.1協(xié)議描述的驗(yàn)證信息主要包括Last-Modified和Entity Tag兩種,分別對(duì)應(yīng)了“Last-Modified”和“ETag”兩個(gè)頭信息,其中“Last-ModiFed”屬于實(shí)體頭,ETag屬于響應(yīng)頭。通常,不管是“Last-Modified”還是“Etag”,這些驗(yàn)證信息都是由源服務(wù)器在產(chǎn)生實(shí)體內(nèi)容或者內(nèi)容更新時(shí)一起產(chǎn)生的,然后在返回內(nèi)容時(shí)一起返回給提出請(qǐng)求的Cache。在對(duì)內(nèi)容是否發(fā)生變化進(jìn)行驗(yàn)證時(shí),如果緩存內(nèi)容在標(biāo)識(shí)的時(shí)間之后沒有被修改過,一種有效的驗(yàn)證信息一般則認(rèn)為它是有效的。所以Last-Modified是一種有效的驗(yàn)證信息,一般“Last-Modified”頭的值
20、可以被包含在請(qǐng)求頭“If-Modified-Since”和“If-Unmodified-Since”,中。 “Last-Modified”在時(shí)間精度上有一定的缺陷,因?yàn)镠TTP協(xié)議的時(shí)間值是以秒為單位的,如果一個(gè)響應(yīng)消息在一秒內(nèi)被修改了兩次,那么通過這個(gè)來驗(yàn)證某個(gè)內(nèi)容是否發(fā)生變化就不準(zhǔn)確了。在這種情況下可以用另外一個(gè)驗(yàn)證信息"ETag"。"ETag"可以由源服務(wù)器指定計(jì)算方法,根據(jù)訪問的內(nèi)容來生成,它是一個(gè)不透明的驗(yàn)證信息。請(qǐng)求消息在要求源服務(wù)器進(jìn)行驗(yàn)證時(shí),可以將"ETag"的值包含在請(qǐng)求頭"If-Match"、&
21、quot;If-None-Match"或'If-Range'中。驗(yàn)證可以分為強(qiáng)驗(yàn)證或弱驗(yàn)證。強(qiáng)驗(yàn)證是要驗(yàn)證所訪問內(nèi)容的每一個(gè)字節(jié)都沒有變化,因?yàn)橛腥魏蔚淖兓紩?huì)使相應(yīng)的驗(yàn)證信息發(fā)生變化;而弱驗(yàn)證只驗(yàn)證所訪問內(nèi)容的語義有沒有發(fā)生大的變化,驗(yàn)證信息只有在內(nèi)容語義有明顯改變時(shí)才會(huì)發(fā)生變化。弱驗(yàn)證信息可以應(yīng)用于不要求精確一致的情況下,通常一個(gè)訪問內(nèi)容的修改時(shí)間可以被認(rèn)為是弱驗(yàn)證信息。強(qiáng)驗(yàn)證信息應(yīng)用比較廣泛,比如使用ETag,兒乎所有的場合都可以用。如果用戶提交的請(qǐng)求只需要驗(yàn)證實(shí)體內(nèi)容的一部分是否發(fā)生了改變,那次應(yīng)該使用強(qiáng)驗(yàn)證以獲得正確的數(shù)據(jù)。 標(biāo)準(zhǔn)的緩存消息頭l Etag, Cache-Control, Age是標(biāo)準(zhǔn)的緩存消息頭,用于控制內(nèi)容的緩存策略。l Cache-Control: max-age=0, s-maxage=0, private, must-revalidatel Cache-Control消
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025民間的借款合同范本2
- 2025搬家貨運(yùn)合同模板
- 2025年度年度水利工程設(shè)施維修管理協(xié)議3篇
- 二零二五年度2025年農(nóng)業(yè)合作社合伙人合同協(xié)議3篇
- 2025年度農(nóng)村房屋買賣合同(含房屋附屬設(shè)施及土地開發(fā))
- 二零二五年度農(nóng)村住房建設(shè)智能化系統(tǒng)安裝合同
- 2025年度大學(xué)畢業(yè)生就業(yè)意向與培養(yǎng)協(xié)議3篇
- 2025年度出差環(huán)境保護(hù)與可持續(xù)發(fā)展協(xié)議3篇
- 二零二五年度新型農(nóng)村機(jī)井承包管理協(xié)議
- 2025年度體育用品商鋪?zhàn)赓U合同范本(含賽事贊助合作)3篇
- ANSYS有限元技術(shù)分析優(yōu)化
- 模具專業(yè)英語完整版電子課件
- 小學(xué)數(shù)學(xué)北師大四年級(jí)上冊(cè)四運(yùn)算律運(yùn)算定律復(fù)習(xí)課PPT
- 個(gè)人社保代繳協(xié)議合同模板
- C4支持學(xué)生創(chuàng)造性學(xué)習(xí)與表達(dá)作業(yè)1-設(shè)計(jì)方案
- 給水排水管道工程外觀質(zhì)量檢查記錄
- 2022年國家電力公司火力發(fā)電廠勞動(dòng)定員標(biāo)準(zhǔn)
- 危險(xiǎn)化學(xué)品水路運(yùn)輸安全管理規(guī)定
- 教育中的心理效應(yīng)
- 考古繪圖(課堂PPT)
- PE管熱熔對(duì)接施工方案完整
評(píng)論
0/150
提交評(píng)論