/* URL對象 瀏覽區做爲客戶端,每次與服務器鏈接時,都會給服務器發送一個消息頭, 消息頭主要是一些Http,版本類型,能夠解析的內容,編碼方式等 服務器收到了之後也會給瀏覽器返回一個響應頭, 若是直接使用socket鏈接接受信息,那麼這些頭信息也會被顯示出來, 使用URL對象能夠將這些頭信息解析掉,只顯示數據內容,由原來的傳輸層到應用層php
*/java
import java.io.*;windows
import java.net.*;瀏覽器
class Url{ 服務器
public static void main(String [] args){ socket
URL url = new URL("http://192.168.1.118:8080/index.php?name=zhangsan"); post
//URL的兩個做用1,解析地址,能夠提取地址中的IP,端口號,path等 網站
int port = url.getPort(); 編碼
String path = url.getPath(); url
String host = url.getHost();
String file = url.getFile();
String http = url.getProtocol();
//2.遠程鏈接服務器,獲取信息;
URLConnection urlConnection = url.openConnection();
BufferedInputStream bufferedInputStream = new BufferedInputStream(urlConnection.getInputStream());
byte [] buf = new byte[1024];
int len = bufferedInputStream.read(buf);
System.out.println(new String(buf,0,len));
} }
/* 域名解析
1,在瀏覽器中輸入網址之後,他首先會在本地進行解析,尋找網址與IP地址的映射關係,例如127.0.0.1 localhost
2,若是本地沒有找到,而後到公網上進行DNS服務器解析,(在咱們配置IP的時候, 下面能夠選擇使用哪一個DNS服務器解析),而後返回IP地址,瀏覽器再進行socket遠程鏈接 ,若是咱們直接輸入IP地址,這樣就不會解析了,直接遠程鏈接
3,在c:\windows\system32\drivers\etc\hosts文件中,能夠自定義本地的映射的關係, 用途有兩個:一,能夠屏蔽掉了一些網站; 二,能夠對一些在線檢測的軟件進行無償使用,不讓其檢測
*/