Java Web基礎(http協議與servlet編程)

HTTP協議概述

HTTP是HyperText Transfer Protocol(超文本傳輸協議)的簡寫,傳輸HTML文件。
用於定義WEB瀏覽器與WEB服務器之間交換數據的過程及數據本身的格式。

1、查看http協議的工具
1)使用火狐瀏覽器的firebug插件或谷歌瀏覽器的”審查元素”(不同瀏覽器略有不同)
2)使用系統自帶的telnet工具(遠程訪問工具。在Windows命令行模式中使用,如果該命令不能使用,擇需要在控制面板->程序->程序和功能->啓動或關閉Windows功能,開啓該命令。)

2、請求方式
常見的請求方式: GET,POST, HEAD,TRACE, PUT,CONNECT ,DELETE
常用的請求方式: GET和 POST
1) GET 一般用於獲取/查詢資源信息,而POST一般用於更新資源信息
2) 根據HTTP規範,POST表示可能修改服務器上的資源請求。

3、請求資源
URL:全稱是統一資源定位符。
URI:統一資源標記符。

4、Http協議版本
http1.0:當前瀏覽器客戶端與服務器端建立連接之後,只能發送一次請求,一次請求之後連接關閉。
http1.1:當前瀏覽器客戶端與服務器端建立連接之後,可以在一次連接中發送多次請求。(基本都使用1.1)

5、GET和POST區別

<!-- 表單提交 -->
<form action="提交地址" method="GET/POST">  
                <form>

(1)GET方式提交 由瀏覽器提交get方式數據到服務器

下面爲請求內容

--請求行   get請求請求行和請求主體在一起
GET /test/RequestTest?name=wang&password=111 HTTP/1.1  
Host: localhost:8080  --請求頭(多個key-value對象)

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20180207 Firefox/53.0    -- 當前訪問的電腦信息,和瀏覽器
--可接受的文件類型
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
--支持的語言
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
--瀏覽器接受的數據壓縮格式
Accept-Encoding: gzip, deflate
-- 當前請求來自於哪裏
Referer: http://localhost:8080/test/test.html
-- 瀏覽器跟服務器連接狀態。close: 連接關閉  keep-alive:保存連接。
Connection: keep-alive
Upgrade-Insecure-Requests: 1

(a)地址欄會跟上參數數據。以?開頭,多個參數之間以&分割。
(b)GET提交參數數據有限制,不超過1KB。
(c)GET方式不適合提交敏感密碼。
(d)瀏覽器直接訪問的請求,默認提交方式是GET方式

(2)POST方式提交
由瀏覽器提交post方式數據到服務器

--請求行
POST /test/RequestTest HTTP/1.1
--請求頭
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20180207 Firefox/53.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 59  -- get提交方式沒有() HTTP消息實體的傳輸長度
Referer: http://localhost:8080/test/test.html
Connection: keep-alive
Upgrade-Insecure-Requests: 1

--請求主體
name=wang&password=123456

(a)參數不會跟着URI後面。參數而是跟在請求的實體內容中。沒有?開頭,多個參數之間以&分割。
(b)POST提交的參數數據沒有限制。
(c)POST方式可以提交敏感數據(如提交密碼比較安全)。

Servlet編程

1、什麼是Servlet?
servlet 是運行在 Web 服務器中的小型 Java 程序(即:服務器端的小應用程序)。servlet 通常通過 HTTP(超文本傳輸協議)接收和響應來自 Web 客戶端的請求。

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