歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Web資源訪問及HTTP協議詳解

Web資源訪問及HTTP協議詳解

日期:2017/3/1 10:15:55   编辑:Linux編程

下圖為在浏覽器中輸入URL 後的一系列過程:

從此圖中可以總結出幾條結論:

1. 如果DNS服務器壞了,可以直接通過ip地址訪問網頁,因為DNS只是一個域名和IP地址的MAP;

通過在命令行中輸入 “ping 域名”即可;

比如:

在命令行中輸入 ping www.baidu.com ,則出現如下文字:

可以看出 www.baidu.com 的ip地址是119.75.217.56 ;

直接在浏覽器中輸入 119.75.217.56 即可訪問baidu;

2.Host文件位於 C:\Windows\System32\drivers\etc\hosts

此文件的用途:外掛,將游戲升級程序訪問的服務器IP改成自己的機器的IP; 再比如優酷等視頻網站去除廣告就是通過此種方法;

在此文件中修改映射關系可以改變訪問的效果,比如在文件中添加:

127.0.0.1 www.sina.com

則打開tomcat;

在浏覽器中輸入 http://www.sina.com:8080 可以看到tomcat的主頁;

因為在訪問DNS服務器之前ie會去訪問 Hosts文件,如果存在映射關系,則不會去訪問DNS服務器;

3.訪問靜態資源之前其實會訪問默認Servlet,如果自己覆蓋默認的Servlet,則不能正常訪問到靜態資源;

覆蓋默認Servlet只需要<url-pattern>/</url-Pattern> 即可;

4.發送HTTP請求的前提是連接服務器;


HTTP協議總結

HTTP協議一般是隱藏在浏覽器背後的,如果要查看HTTP協議內容,則需要下載IE插件 HTTPWATCH;

HTTP協議時平台無關的;

HTTP由HTTP請求和HTTP響應組成;

1.HTTP請求

一般的HTTP請求如下:

1.1請求行

請求行是由 請求方式、請求資源、請求協議組成;

1.1.1請求方式

請求方式主要有GET和POST兩種;

除了表單提交,其他都是GET請求;

一共有八種請求方式:

請求方式 作用 get 用於請求某個資源,理論上不修改服務器的狀態 post 表單提交 head 只返回get請求後相應的頭,而不用吧相應體(HTML)返回 trace 顯示服務器端接收的信息,用於調試 put 將包含的信息放在URL中 delete 指明要刪除某個URL對應的資源 options 列出HTTP方法列表 connect 建立隧道

冪等:一次請求和多次請求的結果是一樣的;

在請求方式中,滿足冪等的有:HEAD、GET、PUT;其余的都不是冪等;

1.1.2請求資源

請求資源是要請求返回的web資源;

1.1.3請求協議

請求協議現在一般使用HTTP/1.1,以前使用HTTP/1.0

注意:HTTP/1.1和HTTP/1.0的區別

HTTP是基於TCP/IP之上的,HTTP/1.0是指連接web服務器後只允許一次HTTP請求;HTTP/1.1是指連接web服務器後允許多次HTTP請求;

1.2請求頭

請求頭是由很多Map組成;

Host 客戶機向服務器發送請求的主機名 Accept 客戶機支持的數據類型 Accept-Language

客戶機支持的語言

Tips:在訪問www.google.com 時服務器會解析出客戶機支持的語言,然後發回此語言的網頁;

Accept-Charset 客戶機支持的編碼 Accept-Encoding 客戶機的壓縮格式 Referer

客戶機訪問此資源的來源;比如從1.html中的超鏈接請求2.html,則請求2.html時會發送Referer: 1.html

用途:防盜鏈

避免從未知網站鏈接此網站,盜用資源

User-Agent 客戶機的軟件環境 Connection 客戶機發送此連接後的連接狀態時繼續連接還是斷開 Date 客戶機發送的時間

注意:請求頭和實際內容中間需要加上空行;

Copyright © Linux教程網 All Rights Reserved