http超文本传输协议
http簡介
超文本傳輸協議(HyperText Transfer Protocol),詳細規定瀏覽器和萬維網之間互相通信的規則,是萬維網交換信息的基礎,允許將HTML文檔從Web服務器傳送到Web服務器。
HTTP是無狀態的協議,Web瀏覽器和Web服務器之間不需要建立持久的連接
HTTP基于TCP/IP協議傳遞數據(HTML文件、圖片文件、查詢結果)
HTTP工作原理
HTTP協議工作于CS架構上,瀏覽器作為HTTP客戶端通過URL向WEB服務器發送請求。
Web服務器:Apache服務器、IIS服務器
HTTP的默認端口是80,可以改為其它端口
HTTP注意事項
- HTTP是無連接的:每次連接只處理一個請求
- HTTP是媒體獨立性:任何類型的數據都可以通過HTTP發送
- HTTP是無狀態的:對于事務處理沒有記憶,
HTTP請求與響應
HTTP請求
- 請求行(請求方法):HTTP請求的第一行,格式為 請求類型/請求的域名路徑/使用的HTTP版本號
- 請求頭(消息頭):其中的HOST代表請求主機地址,User-Agent代表瀏覽器標識,
- 請求正文:可選,出現在POST請求方式中。
HTTP請求方法
,那么返回文本是Web容器解析后的HTML源代碼。GET請求沒有消息主體,因此在消息頭后的空白行是沒有其他數據。
POST:POST方法也與GET方法相似,但最大的區別在于,GET方法沒有請求內容,而POST是有請求內容的。
HTTP響應
HTTP/1.1 200 OK //響應行 Date: Sun, 15 Nov 2015 11:02:04 GMT //響應頭 Server: bfe/1.0.8.9 Content-Length: 2605 Content-Type: application/javascript Cache-Control: max-age=315360000 Expires: Fri, 13 Jun 2025 09:54:00 GMT Content-Encoding: gzip Set-Cookie: H_PS_PSSID=2022_1438_1944_1788; path=/; domain=test.com Connection: keep-alive//空白行,代表響應頭結束 <html> <head><title> Index.html </title></head> //響應正文消息主題- 響應行:HTTP版本(HTTP/1.1)、狀態碼(200)、消息OK
- 響應頭:由服務器向客戶端發送的HTTP頭
- 響應正文:服務器向客戶端發送的HTML數據
HTTP響應頭信息
HTTP狀態與會話
HTTP狀態碼
瀏覽器接收并顯示網頁前,網頁所在的服務器會返回包含HTTP狀態碼的信息頭用以響應瀏覽器的請求。
五種狀態碼:
- 1xx:信息提示,表示請求已被成功接收,繼續處理。
- 2xx:請求被成功提交。
- 3xx:客戶端被重定向到其他資源。
- 4xx:客戶端錯誤狀態碼,格式錯誤或者不存在資源。
- 5xx:描述服務器內部錯誤。
常見的狀態碼描述如下:
- 200:客戶端請求成功,是最常見的狀態。
- 302:重定向。
- 404:請求資源不存在,是最常見的狀態。
- 400:客戶端請求有語法錯誤,不能被服務器所理解。
- 401:請求未經授權。
- 403:服務器收到請求,但是拒絕提供服務。
- 500:服務器內部錯誤,是最常見的狀態。
- 503:服務器當前不能處理客戶端的請求。
會話ID可以通過一種稱之為Cookie的技術在請求消息中進行傳遞,也可以作為請求URL的附加參數進行傳遞。會話ID是WEB服務器為每客戶端瀏覽器分配的一個唯一代號,它通常是在WEB服務器接收到某個瀏覽器的第一次訪問時產生,并且隨同響應消息一道發送給瀏覽器。
URL
HTTP的統一資源定位符將從因特網獲取信息的五個基本元素包括在一個簡單的地址中:
http://user.pass@www.example.com:80/dir/index.html?uid=1#ch1- 傳送協議。
- 層級URL標記符號(為[//],固定不變)
- 訪問資源需要的憑證信息(可省略)
- 服務器。(通常為域名,有時為IP地址)
- 端口號。(以數字方式表示,若為HTTP的默認值“:80”可省略)
- 路徑。(以“/”字符區別路徑中的每一個目錄名稱)
- 查詢。(GET模式的窗體參數,以“?”字符為起點,每個參數以“&”隔開,再以“=”分開參數名稱與數據,通常以UTF8的URL編碼,避開字符沖突的問題)
- 片段。以“#”字符為起點
Web服務器
WEB你可以簡單理解為你所看到的HTML頁面就是WEB的數據元素,處理這些數據元素的應用軟件就叫WEB服務器
WEB服務器:Apache、IIS、Nginx(也是反向代理服務器)
應用服務器
處理的是非常規性WEB頁面(JSP文件),它動態生成WEB頁面,生成的WEB頁面在發送給客戶端(實際上當應用服務器處理完一個JSP請求并完成JSP生成HTML后它的任務就結束了,其余的就是WEB處理的過程了)
應用服務器:Tomcat、Weblogic、Jboss
總結
以上是生活随笔為你收集整理的http超文本传输协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vps海外代理服务器有哪些优势
- 下一篇: JDBC概念快速入门工具类Util的写法