歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Web資源訪問及HTTP協議詳解

下圖為在浏覽器中輸入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