已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
北京工業(yè)大學畢業(yè)設計(譯文) - 7 - The DIL/NetPCs DNP/1110 Using the Embedded Linux Web Server for Embedded Systems After the “everybody-in-the-Internet-wave” now obviously follows the “everything-in-the-Internet-wave”. The most coffee, vending and washing machines are still not available about the worldwide net. However the embedded Internet integration for remote maintenance and diagnostic as well as the so-called M2M communication is growing with a considerable speed rate. Just the remote maintenance and diagnostic of components and systems by Web browsers via the Internet, or a local Intranet has a very high weight for many development projects. In numerous development departments people work on completely Web based configurations and services for embedded systems. The remaining days of the classic user interface made by a small LC-display with front panel and a few function keys are over. Through future evolutions in the field of the mobile Internet, Bluetooth-based PANs (Personal Area Networks) and the rapidly growing M2M communication (M2M=Machine-to-Machine) a further innovating advance is to be expected. The central function unit to get access on an embedded system via Web browser is the Web server. Such Web servers bring the desired HTML pages (HTML=Hyper Text Markup Language) and pictures over the worldwide Internet or a local network to the Web browser. This happens HTTP-based (Hyper Text Transfer Protocol). A TCP/IP protocol stack that means it is based on sophisticated and established standards manages the entire communication. Web server (HTTP server) and browser (HTTP client) build TCP/IP-applications. HTTP achieved a phenomenal distribution in the last years. Meanwhile millions of user around the world surf HTTP-based in the World Wide Web. Today almost every personal computer offers the necessary assistance for this protocol. This status is valid more and more for embedded systems also. The HTTP spreads up with a fast rate too. 北京工業(yè)大學畢業(yè)設計(譯文) 8 The DIL/NetPCs DNP/1110 Using the Embedded Linux 1. TCP/IP-based HTTP as Communication Platform HTTP is a simple protocol that is based on a TCP/IP protocol stack (picture 1.A). HTTP uses TCP (Transmission Control Protocol). TCP is a relative complex and high-quality protocol to transfer data by the subordinate IP protocol. TCP itself always guarantees a safeguarded connection between two communication partners based on an extensive three-way-handshake procedure. As a result the data transfer via HTTP is always protected. Due to the extensive TCP protocol mechanisms HTTP offers only a low-grade performance. Figure 1: TCP/IP stack and HTTP programming model HTTP is based on a simple client/server-concept. HTTP server and client communicate via a TCP connection. As default TCP port value the port number 80 will be used. The server works completely passive. He waits for a request (order) of a client. This request normally refers to the transmition of specific HTML documents. This HTML documents possibly have to be generated dynamically by CGI. As result of the requests, the server will answer with a response that usually contains the desired HTML documents among others (picture 1.B). GET /test.htm HTTP/1.1 Accept: image/gif, image/jpeg, */* User selling agent: Mozilla/4.0 Host: Listing 1.A: HTTP GET-request HTTP/1.1 200 OK Date: Mon, 06 Dec 1999 20:55:12 GMT Server: Apache/1.3.6 (Linux) Content-length: 82 Content-type: text/html Test-Seite Test-Seite 北京工業(yè)大學畢業(yè)設計(譯文) 9 The DIL/NetPCs DNP/1110 Using the Embedded Linux Listing 1.B: HTTP response as result of the GET-request from listing 1.A HTTP requests normally consist of several text lines, which are transmitted to the server by TCP. The listing 1.A shows an example. The first line characterizes the request type (GET), the requested object (/test1.htm) and the used HTTP version (HTTP/1.1). In the second request line the client tells the server, which kind of files it is able to evaluate. The third line includes information about the client- software. The fourth and last line of the request from listing 1.A is used to inform the server about the IP address of the client. In according to the type of request and the used client software there could follow some further lines. As an end of the request a blank line is expected. The HTTP responses as request answer mostly consist of two parts. At first there is a header of individual lines of text. Then follows a content object (optional). This content object maybe consists of some text lines in case of a HTML file or a binary file when a GIF or JPEG image should be transferred. The first line of the header is especially important. It works as status or error message. If an error occurs, only the header or a part of it will be transmitted as answer. 2. Functional principle of a Web Server Simplified a Web server can be imagined like a special kind of a file server. Picture 2.A shows an overview. The Web server receives a HTTP GET-request from the Web browser. By this request, a specific file is required as answer (see step 1 into picture 2.A). After that, the Web server tries to get access on the file system of the requested computer. Then it attempts to find the desired file (step 2). After the successful search the Web server read the entire file (step 3) and transmit it as an answer (HTTP response comprising of header and content object) to the Web browser (step 4). If the Web server cannot find the appropriate file in the file system, an error message (HTTP response which only contains the header) is simply be send as response to the client. Figure 2: Functional principle from Web server and browser 北京工業(yè)大學畢業(yè)設計(譯文) 10 The DIL/NetPCs DNP/1110 Using the Embedded Linux The web content is build by individual files. The base is build by static files with HTML pages. Within such HTML files there are references to further files embedded these files are typically pictures in GIF or JPEG format. However, also references to other objects, for example Java-Applets, are possible. After a Web browser has received a HTML file of a Web server, this file will be evaluated and then searched for external references. Now the steps 1 to 4 from picture 2.A will run again fo r every external reference in order to request the respective file from the corresponding Web server. Please note, that such a reference consists of the name or IP address of a Web server (e.g. ), as well as the name of the desired file (e.g. picture1.gif). So virtually every reference can refer to another Web server. In other words, a HTML file could be located on the server ssv-embedded.de but the required picture -which is external referenced by this HTML file- is located on the Web server . Finally this (worldwide) networking of separate objects is the cause for the name World Wide Web (WWW). All files, which are required by a Web server, are requested from a browser like the procedure shown on picture 2.A. Normally these files are stored in the file system of the server. The Webmaster has to update these files from time to time. A further elementary functionality of a Web server is the Common Gateway Interface (CGI) -we have mentioned before. Originally this technology is made only for simple forms, which are embedded into HTML pages. The data, resulting from the padding of a form, will be transmitted to a Web server via HTTP-GET or POST-request (see step 1 into picture 2.B). In such a GET- or POST-request the name of the CGI program, which is needed for the evaluation of a form, is fundamentally included. This program has to be on the Web server. Normally the directory /cgi-bin is used as storage location. As result of the GET- or POST-request the Web server starts the CGI program located in the subdirectory /cgi-bin and delivers the received data in form of parameters (step 2). The outputs of a CGI program are guided to the Web server (step 3). Then the Web server sends them all as responses to the Web browser (step 4). 3. Dynamic generated HTML Pages In contradiction to a company Web site server, which informs people about the product program and services by static pages and pictures, an embedded Web server has to supply dynamically generated contents. The embedded Web server will generate the dynamic pages in the moment of the first access by a browser. How else could we check the actual temperature of a system via Internet? Static HTML files are not interesting for an embedded Web server. The most information about the firmware version and service instructions are stored in HTML format. All other tasks are normally made via dynamic generated HTML. There are two different technologies to generate a specific HTML page in the moment of the request: First the so-called server-side-scripting and second the CGI programming. At the server-side-scripting, script code is embedded into a HTML page. If required, this code will be carried out on the server (server-sided). 北京工業(yè)大學畢業(yè)設計(譯文) 11 The DIL/NetPCs DNP/1110 Using the Embedded Linux For this, there are numerous script languages available. All these languages are usable inside a HTML-page. In the Linux community PHP is used mostly. The favourite of Microsoft is VBScript. It is also possible to insert Java directly into HTML pages. Sun has named this technology JSP (Java Server Pages). The HTML page with the script code is statically stored in the file system of the Web server. Before this server file is delivered to the client, a special program replaces the entire script code with dynamic generated standard HTML. The Web browser will not see anything from the script language. Figure 3: Single steps of the Server-Side-Scripting Picture 3 shows the single steps of the server-side-scripting. In step 1 the Web browser requests a specific HTML file via HTTP GET-request. The Web server recognizes the specific extension of the desired file (for example *.ASP or *.PHP instead of *.HTM and/or *.HTML) and starts a so-called scripting engine (see step 2). This program gets the desired HTML file including the script code from the file system (step 3), carry out the script code and make a new HTML file without script code (step 4). The included script code will be replaced by dynamic generated HTML. This new HTML file will be read by the Web server (step 5) and send to the Web browser (step 6). If a server-sided scripting is supposed to be used by an embedded Web server, so you have to consider the necessary additional resources. A simple example: In order to carry out the embedded PHP code into a HTML page, additional program modules are necessary for the server. A scripting engine together with the embedded Web server has to be stored in the Flash memory chip of an embedded system. Through that, during run time more main memory is required. 4. Web Server running under Linux Once spoken about Web servers in connection with Linux most people immediately think of Apache. After investigations of the Netcraft Survey this program is the mostly used Web server worldwide. Apache is an enhancement of the legendary NCSA server. The name Apache itself has nothing to do with Red Indians. It is a construct from A Patchy Server because the first version was put together from different code and patch files. Moreover there are numerous other Web servers - even for Linux. Most of this are standing under the GPL (like Apache) and can be used license free. A very extensive overview you can find at /. Every Web server has his advantages and disadvantages. Some are developed for specific functions and have very special qualities. Other distinguishes at best through their reaction rate at many simultaneous requests, as well as the variety of their 北京工業(yè)大學畢業(yè)設計(譯文) 12 The DIL/NetPCs DNP/1110 Using the Embedded Linux configuration settings. Others are designed to need minimal resources and offer very small setting possibilities, as well as only one connection to a client. The most important thing by an embedded Web server is the actual resource requirements. Sometimes embedded systems offer only minimal resources, which mostly has to be shared with Linux. Meanwhile there are numerous high- performance 32-bit-386/486-microcontroller or (Strong)ARM-based embedded systems that own just 8 Mbytes RAM and 2 Mbytes Flash-ROM (picture 4). Outgoing from this ROM (Read-only-Memory, i.e. Flash memory chips) a complete Linux, based on a 2.2- or 2.4-Kernel with TCP/IP protocol stack and Web server, will be booted. HTML pages and programs are also stored in the ROM to generate the dynamic Web pages. The space requirements of an embedded system are similar to a little bigger stamp. There it is quite understandable that there is no place for a powerful Web server like Apache. Figure 4: Embedded Web Server Module with StrongARM and Linux But also the capability of an Apache is not needed to visualize the counter of a photocopier or the status of a percolator by Web servers and browsers. In most cases a single Web server is quite enough. Two of such representatives are boa () and thttpd (). At first, both Web servers are used in connection with embedded systems running under Linux. The configuration settings for boa and thttpd are poor, but quite enough. By the way, the source code is available to the customer. The practicable binary files for these servers are always smaller than 80 Kbytes and can be integrated in the most embedded systems without problems. For the dynamic generation of HTML pages both servers only offer CGI (Common Gateway Interface) as enlargement. Further technologies, like server-side-includes (SSI) are not available. The great difference between an embedded Web server and Apache is, next to the limited configuration settings, the maximal possible number of simultaneous requests. High performance servers like Apache immediately make an own process for every incoming call request of a client. Inside of this process all 北京工業(yè)大學畢業(yè)設計(譯文) 13 The DIL/NetPCs DNP/1110 Using the Embedded Linux further steps will then be executed. This requires a very good programming and a lot of free memory resources during run time. But, on the other hand many Web browsers can access such a Web server simultaneously. Embedded Web server like boa and thttpd work only with one single process. If two users need to get access onto a embedded Web server simultaneously, one of both have to wait a few fractions of a second. But in the environment of the embedded systems that is absolutely justifiable. In this case it is first of all a question of remote maintenance, remote configuration and similar tasks. There are not many simultaneous requests expected. 北京工業(yè)大學畢業(yè)設計(譯文) 14 The DIL/NetPCs DNP/1110 Using the Embedded Linux List of Figures Figure 1: TCP/IP stack and HTTP programming model Figure 2: Functional principle from Web server and browser Figure 3: Single steps of the Server-Side-Scripting Figure 4: Embedded Web Server Module with StrongARM and Linux Listings Listing 1.A: HTTP GET-request Listing 1.B: HTTP response as result of the GET-request from listing 1.A Contact SSV Embedded Systems Heisterbergallee 72 D-30453 Hannover Tel. +49-(0)511-40000-0 Fax. +49-(0)511-40000-40 Email: salesist1.de Web: www.ssv-embedded.de Document History (Sadnp05.Doc) Revisio n Date Name 1.00 24.05.2002 First Version KDW This document is meant only for the internal application. The contents of this document can change any time without announcement. There is taken over no guarantee for the accuracy of the statements. Copyright SSV EMBEDDED SYSTEMS 2002. All rights reserved. INFORMATION PROVIDED IN THIS DOCUMENT IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND. The user assumes the entire risk as to the accuracy and the use of this document. Some names within this document can be trademarks of their respective holders. 北京工業(yè)大學畢業(yè)設計(譯文) 15 嵌入式系統(tǒng)的網(wǎng)絡服務器 在“每個人都處在互聯(lián)網(wǎng)的浪潮中”之后,現(xiàn)在很明顯隨之而來的是“每件事都處在互聯(lián)網(wǎng)的浪潮中”。大多數(shù)售賣咖啡的機器仍然不能提供全世界的聯(lián)網(wǎng)。然而嵌入式遠程維護和診斷的網(wǎng)絡集成就像所謂的 M2M 通信一樣以一種相當快的速度增長。 對很多發(fā)展工程來說,僅僅是通過網(wǎng)絡瀏覽器經(jīng) Internet,或是經(jīng)過局域網(wǎng)進行組成和系統(tǒng)的遠程維護和診斷,負擔非常之重。在許多部門中,人們對于嵌入式系統(tǒng)配置和服務的工作完全地基于網(wǎng)絡。剩余的時間用前面的面板和一些功 能鍵組成一個小的 LC 顯示結(jié)束經(jīng)典用戶界面的制作。隨著移動互聯(lián)網(wǎng)領(lǐng)域?qū)淼陌l(fā)展,可以預期,基于藍牙技術(shù)的個人區(qū)域網(wǎng)和快速發(fā)展的M2M 通信會出現(xiàn)長足的進步。 經(jīng)過網(wǎng)絡瀏覽器獲得進入一個嵌入式系統(tǒng)最主要的功能單元是網(wǎng)絡服務器。這種網(wǎng)絡服務器給網(wǎng)絡瀏覽器帶來全球互聯(lián)網(wǎng)或局域網(wǎng)上理想的 HTML 頁( HTML Hypertext Markup Language, 超文本鏈接標示語言)和圖片。這樣發(fā)生了基于 HTTP( HTTP Hypertext Transfer Protocol, WWW 服務程序所用的協(xié)議)。一個 TCP/IP 協(xié)議層,意味著基于這個已制定的標準,來管理整個通信。網(wǎng)絡服務器( HTTP 服務器端)和瀏覽器( HTTP 客戶端)構(gòu)建了 TCP/IP 的應用軟件。 HTTP 在去年達到了一個顯著的區(qū)分。其間全世界數(shù)以百萬計的用戶在廣域網(wǎng)中使用基于 HTTP 進行沖浪。今天幾乎每一臺個人電腦都對這個協(xié)議提供了必要的支持。這種狀況在嵌入式系統(tǒng)中也越來越多。 HTTP 在以極快的速度伸展。 1 基于 TCP/IP 的 HTTP 作為通信平臺 HTTP 是一個基于 TCP/IP 協(xié)議層之上的簡單的協(xié)議。 HTTP 使用 TCP( TCP Transfer Control Protocol, 傳輸控制協(xié)議)。 TCP 是一個通過下屬的 IP( IP Internet Protocol, 網(wǎng)際協(xié)議)協(xié)議傳輸數(shù)據(jù)的相對復雜和高質(zhì)量的協(xié)議。 TCP 本身經(jīng)過一個廣泛的三方握手程序,始終保證兩個通信伙伴之間安全的連接。因此經(jīng)過 HTTP 的數(shù)據(jù)傳輸可以始終被保護。由于廣泛的 TCP 協(xié)議機制, HTTP 只表現(xiàn)出一種低級別的性能。 北京工業(yè)大學畢業(yè)設計(譯文) 16 Figure 1: TCP/IP stack and HTTP programming model HTTP 基于一種簡單的客戶 /服務器的概念。 HTTP 服務器和客 戶端經(jīng)過一個 TCP 連接進行通信。默認的端口號是 80。服務器完全被動地工作。他等待客戶端的請求。這種請求通常指明確的HTML 文件的傳輸。這種 HTML 文件可能不得不由 CGI( CGI Common Gateway Interface , 公共網(wǎng)關(guān)接口)動態(tài)產(chǎn)生。請求的結(jié)果,服務器通常將包含的需要的 HTML 文件通過響應回答(Picture 1.B)。 HTTP 的請求通常由幾行文本組成,通過 TCP 傳送到服務器。 Listing 1.A 給出了一個例子。第一行表明了請求類型( GET),請求對象( /test1.htm)以及 使用 HTTP 的版本( HTTP/1.1)。請求的第二行客戶端告訴服務器能夠接收什么類型的文件。第三行包括了關(guān)于客戶端軟件的信息。請求的第四行也是最后一行通知服務器客戶端的 IP 地址。依照請求的類型以及應用的客戶端軟件可以寫出更多行。可以用一個空行作為請求的結(jié)尾。 GET /test.htm HTTP/1.1 Accept: image/gif, image/jpeg, */* User selling agent: Mozilla/4.0 Host: Listing 1.A: HTTP GET-request HTTP/1.1 200 OK Date: Mon, 06 Dec 1999 20:55:12 GMT Server: Apache/1.3.6 (Linux) Content-length: 82 Content-type: text/html Test-Seite Test-Seite Listing 1.B: HTTP response as result of the GET-request from listing 1.A 作為對 HTTP 請求的回答主要由兩部分組成。首先有一個個別文本行的標題。跟著又一個內(nèi)容對象(可選擇)。這個內(nèi)容對象大概由一些文本行組成,假設是一個 HTML 文件或者二進制文件,這時候可以傳送 GIF 或 JPEG 格式的圖像。標題的第一行特別重要。它起著報告狀態(tài)和錯誤信息的作用。如果發(fā)生錯誤,只傳送標題或標題的一部分作為回答。 北京工業(yè)大學畢業(yè)設計(譯文) 17 2 網(wǎng)絡服務器的功能原理 簡單化一個網(wǎng)絡服務器可以被設想成像一個特殊類型的文件服務器。 Picture 2.A 展示出了總體結(jié)構(gòu)。網(wǎng)絡服務器從網(wǎng)絡瀏覽器接收了一個 HTTP 的 GET 請求。通過這個請求,必須有一個明確的文件作為回答(見 Picture 2.A 中的 Step1)。之后,網(wǎng)絡服務器嘗試進入被請求電腦的文件系統(tǒng)。然后嘗試找到一個需要的文件( Step2)。在成功搜尋之后,網(wǎng)絡服務器讀取整個文件( Step3),作為一個回答傳送回網(wǎng)絡瀏覽器( HTTP 響應由標題和內(nèi)容對象組成)。如果網(wǎng)絡服務器不能在文件系統(tǒng)中找到合適的文件,一個錯誤信息(只包含標題的 HTTP 響應)簡單地作為響應發(fā)送到客戶端。 Figure 2: Functional principle from Web server and browser 網(wǎng)絡的內(nèi)容由單獨的文件構(gòu)建。它的基礎(chǔ)是用 HTML 頁的靜態(tài)文件構(gòu)建的。在這些 HTML 文件里涉及到遠程文件的嵌入。這些文件是 GIF 或 JPEG 格式的這些有代表性地圖片。然而也涉及到其它一些對象,例如可能有 JAVA 程序。在網(wǎng)絡瀏覽器接收到網(wǎng)絡服務器的 HTML 文件之后,這個文件將被評價然后為外部參考搜索?,F(xiàn)在 Picture 2.A 的 1 4 步將為每一個外部參考再一次運行,為了從相應的網(wǎng)絡服務器中請求各自的文件。請注意,這 樣一個參考由網(wǎng)絡服務器的名字或IP 地址組成(例如“ ”),需要文件的名字也是如此(例如“ picture1.gif”)。所以事實上每一個參考都能夠查閱另一個服務器。換句話說,一個 HTML 文件能夠定位在服務器“ ssv embedded.de”上,但通過這個 HTML 文件外部涉及到的需要的圖像定位在網(wǎng)絡服務器“ ”上。最后這個分離對象的網(wǎng)絡是萬維網(wǎng)( WWW)得名的原因。所有通過網(wǎng)絡服務器的必須得文件被瀏覽器請求,就像 Picture 2.A 中展示的那樣。通常這些文件被存儲在 網(wǎng)絡服務器的文件系統(tǒng)中,網(wǎng)絡管理員有時會更新它們。 網(wǎng)絡服務器更進一步的基本功能是我們前面提到的公共網(wǎng)關(guān)接口( CGI Common Gateway Interface , 公共網(wǎng)關(guān)接口)。最初這項技術(shù)只應用于簡單的嵌入 HTML 頁的窗體。作為窗體填料結(jié)果的數(shù)據(jù)將經(jīng) HTTP GET 或 POST request 被傳送到網(wǎng)絡服務器(見 Picture 2.B 的 Step1)。在這樣一個 GET或 POST的請求中, CGI 需要被窗體賦值的程序名已經(jīng)被包括進去。這個程序需要放在網(wǎng)絡服務器上。通常存儲在“ /cgi bin”目 錄中。 GET或 POST請求的結(jié)果是網(wǎng)絡服務器啟動位于“ /cgi bin”目錄中的 CGI 程序,根據(jù)參數(shù)傳遞標準的數(shù)據(jù)( Step2)。一個 CGI 程序的輸出導向到網(wǎng)絡服務器( Step3)。然后網(wǎng)絡服務器把數(shù)據(jù)全部傳送到網(wǎng)絡瀏覽器作為響應( Step4)。 3 動態(tài)產(chǎn)生 HTML 頁 與一個公司通過靜態(tài)頁面和圖片告訴人們有關(guān)產(chǎn)品計劃和服務的網(wǎng)頁相反,一個嵌入式的網(wǎng)北京工業(yè)大學畢業(yè)設計(譯文) 18 絡服務器能夠提供動態(tài)產(chǎn)生的內(nèi)容。它將在首先通過瀏覽器進入的時候產(chǎn)生動態(tài)頁面。如何另外通過 Internet 檢查系統(tǒng)的實際溫度?靜態(tài) HTML 文件對一個嵌入式 的網(wǎng)絡服務器來說沒有什么意思。最多關(guān)于固件的版本和服務的信息是通過 HTML 格式存儲的。另外所有其它的任務通常都是由動態(tài)產(chǎn)生 HTML 完成的。 在請求的時刻有兩種產(chǎn)生 HTML 頁的不同技術(shù):第一種是所謂的服務器方腳本,第二種是 CGI設計。在服務器方腳本中,腳本代碼嵌入到 HTML 頁中。如果需要,這些代碼將在服務器方被執(zhí)行。 因此,有許多種可以提供的腳本語言,這些語言在 HTML 頁中都可用。在 Linux 團體中主要使用 PHP( PHP:一種新型的 CGI 網(wǎng)絡程序編寫語言。)。微軟中意的是 VBScript。在 HTML 頁中插入 JAVA 同樣可能。美國的 Sun 公司將這種技術(shù)命名為 JSP。用腳本代碼編寫的網(wǎng)頁靜態(tài)地存儲在網(wǎng)絡服務器的文件系統(tǒng)之中。在服務器的文件被傳送到客戶端之前,一段特殊的程序用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 策劃知識類活動方案(3篇)
- 山東省德州市2025-2026學年高三上學期11月期中考試政治試題(解析版)
- 湖南省長沙市望城區(qū)2025-2026學年高一上學期期中考試政治試題(解析版)
- 保險保障咨詢服務條款合同條款協(xié)議2026年協(xié)議
- 2026年一級注冊建筑師之建筑設計考試題庫500道附答案【突破訓練】
- 2026年國家電網(wǎng)招聘之公共與行業(yè)知識考試題庫500道附完整答案(歷年真題)
- 2026年國家電網(wǎng)招聘之文學哲學類考試題庫300道含答案(綜合卷)
- 2026年一級建造師之一建鐵路工程實務考試題庫300道含完整答案【各地真題】
- 2026年一級建造師之一建水利水電工程實務考試題庫500道帶答案(綜合卷)
- 2026年中國歷史文化知識競賽考試題庫附完整答案(必刷)
- 四川省廣安市武勝縣+2023-2024學年九年級上學期期末考試道德與法治試題
- 電大 工程數(shù)學試卷及答案匯總(完整版)
- GB/T 43383-2023船舶和海上技術(shù)船用人孔蓋
- 鋼筋焊接施工安全技術(shù)交底
- 智能化燃機電廠建設方案
- 外科急腹癥的診斷與臨床思維
- 銷售授權(quán)書模板
- 2021年10月全國自學考試00265西方法律思想史試題答案
- 2023年關(guān)于寧波市鄞州糧食收儲有限公司公開招聘工作人員筆試的通知筆試備考題庫及答案解析
- JJF(紡織)080-2018紡織檢針機校準規(guī)范
- GB/T 33411-2016酶聯(lián)免疫分析試劑盒通則
評論
0/150
提交評論