下圖為在浏覽器中輸入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協議內容,則需要下載IE插件 HTTPWATCH;
HTTP協議時平台無關的;
HTTP由HTTP請求和HTTP響應組成;
一般的HTTP請求如下:
請求行是由 請求方式、請求資源、請求協議組成;
請求方式主要有GET和POST兩種;
除了表單提交,其他都是GET請求;
一共有八種請求方式:
請求方式 作用 get 用於請求某個資源,理論上不修改服務器的狀態 post 表單提交 head 只返回get請求後相應的頭,而不用吧相應體(HTML)返回 trace 顯示服務器端接收的信息,用於調試 put 將包含的信息放在URL中 delete 指明要刪除某個URL對應的資源 options 列出HTTP方法列表 connect 建立隧道
冪等:一次請求和多次請求的結果是一樣的;
在請求方式中,滿足冪等的有:HEAD、GET、PUT;其余的都不是冪等;
請求資源是要請求返回的web資源;
請求協議現在一般使用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請求;
請求頭是由很多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 客戶機發送的時間注意:請求頭和實際內容中間需要加上空行;