客戶端和服務器的質詢/響應認證過程: 1.客戶端發送請求; 2.服務器收到請求后,判斷如果請求的資源需要認證,則返回401狀態,并在response headers中加入WWW-Authenticate頭部,要求客戶端帶上認證信息以后再發一次請求; 3.客戶端收到401返回信息后,重新向服務器發送請求,并在request headers中加入Authoriaztion頭部,用來說明認證的用戶名、密碼、算法等信息; 4.服務器再次收到請求后,判斷認證信息無誤,返回200,并在response headers中加入Authorization-Info頭部。
瀏覽器緩存分為強緩存和協商緩存。當客戶端請求某個資源時,獲取緩存的流程如下: 1.先根據這個資源的一些http header判斷它是否命中強緩存,如果命中(cache hit),則直接從本地獲取緩存資源,不會發請求到服務器; 2.當強緩存沒有命中時,客戶端會發送請求到服務器,服務器通過另一些request header驗證這個資源是否命中協商緩存,稱為http再驗證(revalidation),如果命中(revalidate hit再驗證命中),服務器將請求返回,但不返回資源,而是告訴客戶端直接從緩存中獲取,客戶端收到返回后就會從緩存中獲取資源; 3.強緩存和協商緩存共同之處在于,如果命中緩存,服務器都不會返回資源;區別是,強緩存不對發送請求到服務器,但協商緩存會。 4.當協商緩存也沒命中時,服務器就會將資源發送回客戶端。
面試的時候,有問過垃圾回收機制。 當時,知道java是自動回收內存的機制。但,把GC這個名字忘記了。 對JVM、GC垃圾回收是JAVA程序員必須了解的!了解內部對于提高程序效率很有幫助。 但是,知識比較難,學習比較吃力!放以后再學習。 目前只要了解兩個問題: (1)內存溢出了怎么辦?怎么加大內存? (2)根據GC特點,如何編寫高效率程序?
看圖解http時看到首部字段Content-MD5,說先根據報文主體執行MD5編碼,得到的二進制數在用Base64編碼,最終得到一串字符,用于對報文主體的準確性校驗。這MD5是什么?Base64又是什么?抱著這些疑問,花了半天整理了一下編碼相關的基礎知識,最后通過練習,最后初步了解為什么要編碼,這些編碼到底是怎么計算運行的。
WinRunner (以下簡稱 WR)是基于 MS Windows 的功能測試工具。 由于 C/S結構的軟件功能增加越來越快,QA部門測試難度越來越大,手工測試已經跟不上這種發展趨勢。 WR 可以幫助你自動處理從測試開發到測試執行的整個過程。你可以創建可修改和可 復用的測試腳本,而不用擔心軟件功能模塊的變更。你只需要在下班后讓計算機自動 執行這些腳本,就能輕而易舉的發現軟件中的錯誤,從而確保軟件的質量。
AJAX全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML),是一種創建交互式網頁應用的網頁開發技術。類似于DHTML或LAMP,AJAX不是指一種單一的技術,而是有機地利用了一系列相關的技術。
一個程序在運行時需要在內存中存儲許多數據,不同的數據存在的區域不同。JVM內存分為5個區域 1、程序計數器:它是一塊較小的內存空間,是當前線程所執行的字節碼的信號指示器,存儲著下一條需要執行的指令地址,各個線程間獨立的,是唯一一個在JVM規范中沒有規定任何內存溢出情況的區域。 2、虛擬機棧:它的生命周期和線程相同,隨線程創建而創建棧。棧描述的是java方法執行的內存模型,每個方法被執行的時候都會創建一個棧幀,用于存儲局部變量表、操作棧、方法出口等信息。從方法被調用到執行完成的過程對應一個棧幀從入棧到出棧的過程。 3、本地方法棧:本地方法棧和java虛擬機棧類似,區別在于前者是為虛擬機使用到native方法服務,后者是為java方法服務。 4、堆:Java堆是被所有線程共享的一塊內存區域,在虛擬機啟動時創建,存放對象實例。 5、方法區:跟堆一樣是線程共享的內存區域,它用于存儲已被虛擬機加載的類信息、常量、靜態變量等數據
在翻譯過程中只是按照目錄翻譯了官方文檔的內容,至于文檔內部的鏈接地址則沒有仔細處理,都是直接跳轉到了原有的英文原版的鏈接界面。對于教程各個篇章之間的鏈接跳轉也沒有做詳細處理,也是直接跳到了原版。沒辦法,因為鏈接實在太多太復雜了,大家直接從這個目錄上進入到對應模塊吧。
公私鑰加密簡單來說就是提供服務方有唯一一把私有的密鑰和無數把公開的密鑰,他把公鑰發給所有請求服務的客戶端,但只有自己知道并持有私鑰。通過公鑰加密過的數據,只有私鑰才能解開。 公鑰加密的數據用私鑰可以解開,用私鑰加密過的數據用公鑰也可以解開。加密和解密其實是雙向的。后面說到的數字證書就是服務端用私鑰加密后,客戶端再用公鑰解密;而客戶端向服務器端發送預主密鑰(premaster secret)的時候又是用服務器提供的公鑰加密,服務器再用私鑰解密。兩個過程正好是雙向加密解密的過程。
今天,數據庫的操作越來越成為整個應用的性能瓶頸了,這點對于Web應用尤其明顯。關于數據庫的性能,這并不只是DBA才需要擔心的事,而這更是我 們程序員需要去關注的事情。當我們去設計數據庫表結構,對操作數據庫時(尤其是查表時的SQL語句),我們都需要注意數據操作的性能。這里,我們不會講過 多的SQL語句的優化,而只是針對MySQL這一Web應用最多的數據庫。希望下面的這些優化技巧對你有用。
在本例中,我們將使用Spring MVC框架構建一個入門級web應用程序。Spring MVC 是Spring框架最重要的的模塊之一。它以強大的Spring IoC容器為基礎,并充分利用容器的特性來簡化它的配置。
本文以影院售票系統的設計與開發為主題,運用vb和SQL server編寫的程序, 此系統是一個簡單的影院售票系統, 其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的數據庫。而對于后者則要求應用程序功能完備,操作簡便,容易熟練掌握等特點,用戶界面直觀,便于使用維護。
傳輸層所使用的主要端口號 傳輸服務和服務質量 UDP協議的報文格式 TCP協議的報文格式及連接傳輸管理 TCP的流量控制與擁塞控制
譯者注:這是一篇介紹如何使用libcurl的入門教程。文檔不是逐字逐句按原文翻譯,而是根據筆者對libcurl的理解,參考原文寫成。文中用到的一 些例子,可能不是出自原文,而是筆者在學習過程中,寫的一些示例程序(筆者使用的libcurl版本是:7.19.6)。出現在這里主要是為了更好的說明 libcurl的某些api函數的使用。許多例子都參考libcurl提供的example代碼。原文example中的提供的示例程序完全使用C語言, 而這里筆者提供的例子使用C++語言。因為能力有限,對于libcurl的某些理解和使用可能有誤,歡迎批評指正。
所謂工欲善必先利其器,要在vmware下做linux系統的oracle rac,我們也需要準備好相關的裝備。 頭號選手:VMware server,可免費下載,并可免費申請注冊碼,地址:http://www.vmware.com/download/server/ ,這里不建議使用VMware workstation,因為workstation不支持共享存儲,雖然網上也有號稱使用workstation裝成功的案例,但第一不知他們是如何解決存儲共享的問題,第二搜索的到更多都是失敗的案例。三思這里用的是vmware server1.06
1) 選擇最有效率的表名順序(只在基于規則的優化器中有效): ORACLE的解析器按照從右到左的順序處理FROM子句中的表名,FROM子句中寫在最后的表(基礎表 driving table)將被最先處理,在FROM子句中包含多個表的情況下,你必須選擇記錄條數最少的表作為基礎表。如果有3個以上的表連接查詢, 那就需要選擇交叉表(intersection table)作為基礎表, 交叉表是指那個被其他表所引用的表.
一、產品定位與市場分析階段???1、目的(UI設計師應了解產品的市場定位、產品定義、客戶群體、運行方式等。)??2、主要執行人員(UI、UE、需求)??3、需溝通人員(銷售)??4、實現步驟(會議討論)??5、UI主要職責:(定義用戶群特征、定義最終用戶群、定義產品方向)
本章主要是討論如何利用J2EE容器的安全框架來實現應用系統的安全管理功能,這些操作實現原理可以應用于任何需要安全機制的系統。 相比前面章節討論的“簡單的用戶注冊系統”,本章部分操作顯得過于復雜,但是這些技術的選用都是依據不同應用要求作出的。
本文先簡要介紹了JMS的一些基本概念,繼而引入了WebLogic JMS Server的體系結構和相關特性。在此基礎之上,圖文并茂地講述了JMS在WebLogic Server 8.1上的配置。最后在解剖JMS應用程序框架的同時,以點對點為例演示了JMS的發送接收消息流程。
很多同學都聽說過,現代操作系統比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任務”的操作系統。 什么叫“多任務”呢?簡單地說,就是操作系統可以同時運行多個任務。打個比方,你一邊在用瀏覽器上網,一邊在聽MP3,一邊在用Word趕作業,這就是多任務,至少同時有3個任務正在運行。還有很多任務悄悄地在后臺同時運行著,只是桌面上沒有顯示而已。