使用url訪問servlet(二)

原理說明:

http請求實際上由兩部分組成,一個是http頭(head),所有關於此次http請求的配置都在http頭裏面定義,

一個是正文(content),在connect()函數裏面,會根據HttpURLConnection對象的配置值生成http頭,

因此在調用connect函數之前,就必須把所有的配置準備好。緊接着http頭的是http請求正文,正文的內容

通過outputStream寫入實際上outputStream不是一個網絡流,充其量是個字符串流,往裏面寫入的東西不會

立即發送到網絡,而是在流關閉後,根據輸入的內容生成http正文。至此,http請求的東西已經準備就緒。在

getInputStream()函數調用的時候,就會把準備好的http請求正式發送到服務器了,然後返回一個輸入流,用於

讀取服務器對於此次http請求的返回信息。由於http請求在getInputStream的時候已經發送出去了(包括http頭和正文),

因此在getInputStream()函數之後對connection對象進行設置(對http頭的信息進行修改)或者寫入outputStream(對正文進行修改)

都是沒有意義的了,甚至執行這些操作可能會導致異常的發生。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章