2014年計算機二級《WEB》程序考點:HTTP
超文本傳輸(HTTP)協議(HTTP-Hypertexttransferprotocol)是分布式,協作式,超媒體系統應用之間的通信協議。是萬維網(worldwideweb)交換信息的基礎。
HTTP的處理流程 :
建立連接、
發出請求、
生成響應、
關閉連接
HTTP請求和響應協議的組成部分
Http請求:1.請求行響應:1.狀態行
2.請求頭2.響應頭
3.空行3.空白行
4.消息體4.消息體
get和post的區別
1.Post傳輸數據時,不需要在URL中顯示出來,而Get方法要在URL中顯示。
2.Post傳輸的數據量大,可以達到2M,而Get方法由于受到URL長度的限制,只能傳遞大約1024字節.
3.Post顧名思義,就是為了將數據傳送到服務器段,Get就是為了從服務器段取得數據.而Get之所以也能傳送數據,只是用來設計告訴服務器,你到底需要什么樣的數據.Post的信息作為http請求的內容,而Get是在Http頭部傳輸的。
CGI是什么?特點是什么?缺陷?
CGI:用網關接口(CommonGatewayInterface)
優點可以和系統底層相互通訊。
缺點就是每一個連接都啟動一個進程。很消費系統的資源。
容器是什么?有什么作用?
容器:
web容器是一種服務程序,在服務器一個端口就有一個提供相應服務的程序,而這個程序就是處理從客戶端發出的請求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是這樣的容器。一個服務器可以多個容器。
作用:(就是一種所謂的中間件,用來運行java程序的。)
web容器主要是用于給處于容器中的應用程序組件(servlet,jsp)提供一個環境,使servlet,jsp直接跟容器中的環境變量交互。這樣,我們就可以把注意力放在用servlet實現業務邏輯上,而不必為系統底層服務
容器對Servlet的支持包括:
通信支持(利用容器提供的方法)
生命周期管理(容器控制著servlet的生死)
多線程支持(容器會自動地為它接收的每個servlet請求創建一個新的java線程)
支持JSP(容器會自動把JSP翻譯成為servletjava代碼)
處理安全性(javaweb應用程序通常需要實現安全控制,限制用戶可以訪問的資源)
Servlet是什么?規范/一系列接口和類/Web容器和Servlet程序之間通訊的基礎
Servlet是一個在web服務器端或者應用服務器端運行的java程序,主要用于在服務器端產生動態內容
Servlet規范的組成:
1)Web應用程序
2)Servlet和HTTPServlet
3)過濾器
4)安全
5)國際化
讀取客戶端發送的顯式和隱式數據、生成結果、向客戶端發送顯式數據(即文檔)和隱式數據(HTTP響應數據)
Web容器與Servlet如何配合處理請求
1)客戶端向Web服務器發起一個HTTP請求。
2)HTTP請求被Web服務器接受,如果請求的是靜態頁面,則由Web服務
器負責處理。如果請求的是JavaWeb組件(Servlet或者JSP),
則移交給Web容器。Web容器可以在主機的同一個進程、不同的進程
或其他的Web服務主機的進程中啟動。
3)Web容器根據Servlet的配置文件確定調用的具體Servlet類,并把
request對象、response對象傳給它。
4)Servlet通過request對象知道客戶端的使用者是誰,客戶的請求信
息是什么和其他的一些信息。Servlet處理完請求后把要返回的信
息放入response對象返回到客戶端。
5)一旦Servlet完成了請求的處理,Web容器就會刷新response,
把控制權返回給web服務器