一、引入
提到網址我們需要先了解一些概念:
計算機網絡:計算機網絡是指將地理位置不同的具有獨立功能的多台計算機及其外部設備,通過通信線路連接起來,在網絡操作系統,網絡管理軟件及網絡通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統.
協議:通過計算機網絡可以使多台計算機實現連接,位於同一個網絡中的計算機在進行連接和通信時需要遵守一定的規則,這就好比在道路中行駛的汽車一定要遵守交通規則一樣.在計算機網絡中,這些連接和通信的規則被稱為網絡通信協議。
它對數據的傳輸格式、傳輸速率、傳輸步驟等做了統一規定,通信雙方必須同時遵守才能完成數據交換。
IP地址:要想讓網絡中的計算機能夠互相通信,必須為每台計算機指定一個標識號,通過這個標識號來指定要接收數據的計算機和識別發送的計算機,而IP地址就是這個標識號.也就是設備的標識.
IP地址主要分為IPv4和IPv6.
域名:即網域名稱,是由一串用點分隔的字符組成的互聯網上某一台計算機或計算機組的名稱,用於在數據傳輸時標識計算機的電子方位。
域名可以說是一個IP地址的代稱,目的是為了便於記憶后者。例如,baidu.com是一個域名。人們可以直接訪問baidu.com來代替IP地址,然后域名系統(DNS)就會將它轉化成便於機器識別的IP地址。
這樣,人們只需要記憶baidu.com這一串帶有特殊含義的字符,而不需要記憶220.181.38.148這種沒有含義的數字。
端口:網絡的通信,本質上是兩個應用程序的通信.每台計算機都有很多的應用程序,那么在網絡通信時,如何區分這些應用程序呢?如果說IP地址可以唯一標識網絡中的設備,那么端口號就可以唯一標識設備中的應用程序了.也就是應用程序的標識.
端口號的范圍是:0~65535.
二、常見協議
1、HTTP協議。
HTTP協議,是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用於從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議。
HTTP是萬維網的數據通信的基礎。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。通過HTTP或者HTTPS協議請求的資源由統一資源標識符(Uniform Resource Identifiers,URI)來標識。
HTTP協議工作於客戶端-服務端架構為上。瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB服務器發送所有請求。Web服務器根據接收到的請求后,向客戶端發送響應信息。
HTTP使用統一資源標識符(Uniform Resource Identifiers, URI)來傳輸數據和建立連接。
URL包含了用於查找某個資源的足夠的信息,是互聯網上用來標識某一處資源的具體地址,相當於本地文件路徑中的絕對路徑,互聯網上的每個文件都有一個唯一的URL。
簡單來說一個網址,就是一個URL。
2、HTTPS協議
即超文本傳輸安全協議(英語:HyperText Transfer Protocol Secure,縮寫:HTTPS;常稱為HTTP over TLS、HTTP over SSL或HTTP Secure)是一種通過計算機網絡進行安全通信的傳輸協議。
HTTPS經由HTTP進行通信,但利用SSL/TLS來加密數據包。HTTPS開發的主要目的,是提供對網站服務器的身份認證,保護交換資料的隱私與完整性。
HTTPS的主要作用是在不安全的網絡上創建一個安全信道,並可在使用適當的加密包和服務器證書可被驗證且可被信任時,對竊聽和中間人攻擊提供合理的防護。HTTPS的信任基於預先安裝在操作系統中的證書頒發機構(CA)。
HTTP的URL是由“http://
”起始與默認使用端口80,而HTTPS的URL則是由“https://
”起始與默認使用端口443。
HTTP不是安全的,而且攻擊者可以通過監聽和中間人攻擊等手段,獲取網站帳戶和敏感信息等。HTTPS的設計可以防止前述攻擊,在正確配置時是安全的。
三、一個完整的網址都包括那些內容:
網址簡化: 協議://域名:端口號/資源位置?參數=值
分析:
資源位置,用於描述WEB資源再服務器上的位置。
參數=值,瀏覽器和服務器交互傳遞的數據。
其中, ? 是參數和路徑連接的符號(第一個參數和路徑拼接使用?); & 是參數和參數之間連接的符號(參數和參數之間的拼接使用 &)
完整的網址(url)中文版本: 協議://主機名(域名):端口號/路徑/文件名?查詢字符串#錨點
英文版本: protocal://hostname:portname/pathname/?search#hash
四、各部分具體是什么:
以百度文庫的url舉例:https://www.wenku.baidu.com/search?word=%E7%99%BE%E5%BA%A6&ie=utf-8
1、協議部分
protocal 指的是返回使用的Web協議,在Internet中可以使用多種協議,如HTTP,FTP等等。
常用的有:
(1)file: 本地磁盤訪問,主要是訪問本地文件。
(2)http: 即HTTP協議。
(3)https: 即HTTPS 協議。
例子中URL的協議部分為“https:”,這代表網頁使用的是HTTPS協議。在"https"后面需要加上“//”為分隔符。
2、域名部分
hostname 返回Web主機(域)名 IP(在Web網絡下找到當前網絡的地址),一個URL中,也可以使用IP地址作為域名使用。域名或IP地址,都可以訪問WEB資源。
例子中URL的域名部分為“www.wenku.baidu.com”。
3、端口部分
port 端口號(默認隱藏),跟在域名后面的是端口,域名和端口之間使用“:”作為分隔符。程序必須使用端口號,才可以讓另一個計算機訪問。
通過hostname:port 可以直接定位當使用網絡的程序。
端口不是一個URL必須的部分,如果省略端口部分,將采用默認端口。
常見默認端口:
瀏覽器 8080
http 80
https 443
4、虛擬目錄(查詢路徑)部分
pathname查詢路徑,從域名后的第一個“/”開始到最后一個“/”為止,是虛擬目錄部分。
虛擬目錄也不是一個URL必須的部分。本例中無虛擬目錄。
5、文件名部分
從域名后的最后一個“/”開始到“?”為止,是文件名部分,如果沒有“?”,則是從域名后的最后一個“/”開始到“#”為止,是文件部分,如果沒有“?”和“#”,那么從域名后的最后一個“/”開始到結束,都是文件名部分。
本例中文件名為"search"。文件名部分也不是一個URL必須的部分,如果省略該部分,則使用默認的文件名。
6、參數部分
search 參數,從“?”開始到“#”為止之間的部分為參數部分,又稱搜索部分、查詢部分。
一般樣式:?name1=value1&name2=value2
參數可以允許有多個參數,參數與參數之間用“&”作為分隔符。
本例中的參數部分為“word=%E7%99%BE%E5%BA%A6&ie=utf-8”。
7、錨部分
hash 錨點,從“#”開始到最后,都是錨部分。
本例中無錨部分。錨部分也不是一個URL必須的部分