日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

前端基础——URL详解

發布時間:2023/12/8 HTML 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前端基础——URL详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一:URL舉例
  • 二:URL通用格式
    • URL的語法:
    • 通用格式:
    • URL的分類:
      • 絕對URL:
      • 相對URL:
  • 三:URL特殊字符

一:URL舉例

就以下面這個URL為例,介紹下普通URL的各部分組成

http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name

從上面的URL可以看出,一個完整的URL包括以下幾部分:

  • 協議部分:該URL的協議部分為“http:”,這代表網頁使用的是HTTP協議。在Internet中可以使用多種協議,如HTTP,FTP等等本例中使用的是HTTP協議。在"HTTP"后面的“//”為分隔符

  • 域名部分:該URL的域名部分為“www.aspxfans.com”。一個URL中,也可以使用IP地址作為域名使用

  • 端口部分:跟在域名后面的是端口,域名和端口之間使用“:”作為分隔符。端口不是一個URL必須的部分,如果省略端口部分,將采用默認端口

  • 虛擬目錄部分:從域名后的第一個“/”開始到最后一個“/”為止,是虛擬目錄部分。虛擬目錄也不是一個URL必須的部分。本例中的虛擬目錄是“/news/”

  • 文件名部分:從域名后的最后一個“/”開始到“?”為止,是文件名部分,如果沒有“?”,則是從域名后的最后一個“/”開始到“#”為止,是文件部分,如果沒有“?”和“#”,那么從域名后的最后一個“/”開始到結束,都是文件名部分。本例中的文件名是“index.asp”。文件名部分也不是一個URL必須的部分,如果省略該部分,則使用默認的文件名

  • 錨部分:從“#”開始到最后,都是錨部分。本例中的錨部分是“name”。錨部分也不是一個URL必須的部分

  • 參數部分:從“?”開始到“#”為止之間的部分為參數部分,又稱搜索部分、查詢部分。本例中的參數部分為“boardID=5&ID=24618&page=1”。參數可以允許有多個參數,參數與參數之間用“&”作為分隔符。

  • 二:URL通用格式

    URL的語法:

    大多數URL語法都建立在9個部分構成的通用格式上,而其中最重要的是方案(scheme)、主機(host)和路徑(path)

    通用格式:

    方案://用戶名:密碼@主機名:端口/服務器上資源的路徑;參數?查詢#片段

  • 方案:指訪問服務器以獲取資源時要使用哪種協議。比如,http、https和FTP等

  • 主機和端口:指資源宿主服務器的主機名或IP地址。端口是指資源宿主服務器正在監聽的端口,很多HTTP的默認端口號是80。比如,130.32.12.34:800,這里的IP地址是主機名,端口是800

  • 用戶名和密碼:很多服務器都要求輸入用戶名和密碼才會允許用戶訪問數據,如FTP服務器。

    例子:joe是用戶名、joepasswd是密碼

    ftp://joe:joepasswd@ftp.prep.edu/pub/name

  • 路徑:路徑說明了資源位于服務器的什么地方。

    例子:/cans/index.html就是URL中的路徑

    http://www.hda.com/cans/index.html

  • 參數:為了向應用程序提供它們所需要的輸入參數,以便正確地與服務器進行交互,URL中有個參數組件。由字符“;”將其與URL的其余部分分隔開來。

    例子:;type=7;nam=true就是兩個參數。

    ftp://prep.mit.edu/pub;type=7;nam=true

  • 查詢:很多資源,比如數據庫服務、搜索引擎,都可以通過提問題或進行查詢來縮小請求資源的范圍。由字符“?”將其與URL的其余部分分隔開來。

    例子:查詢組件有兩個名/值對:name=csh和age=24

    http://www.cheng.cn/si.html?name=csh&age=24

  • 片段:#代表網頁中的一個位置,其右面的字符就是該位置的標識符(一般情況下,錨鏈接會用到)

    例子:下面的URL中,代表網頁si.index的print位置,瀏覽器讀取這個URL后,會自動將print位置滾動至可視區域。

    http://www.cheng.cn/si.html#print

  • URL的分類:

    URL可以分為絕對URL和相對URL

    絕對URL:

    絕對URL中包含了訪問資源所需的全部信息。

    案例:<a href=’http://cheng.com/si.html></a>

    相對URL:

    相對URL包含的只是訪問資源所需的部分信息。而要想得到訪問資源的全部信息的話,就要和另一個被稱為基礎(base)的URL結合進行解析

    案例:<script src="lib/sea.js"></script>

    相對URL中的基礎URL:轉換相對URL的第一步就是找到基礎URL

  • 在資源中顯式地指定基礎URL。比如,HTML文檔中可能會包含一個定義了基礎URL的HTML標簽

  • 封裝資源的基礎URL。在HTML中,基礎URL可以從它們所屬資源的基礎URL中推導出來

  • 三:URL特殊字符

    有些符號在URL中是不能直接傳遞的,如果要在URL中傳遞這些特殊符號,那么就要使用他們的編碼了。編碼的格式為:%加字符的ASCII碼,即一個百分號%,后面跟對應字符的ASCII(16進制)碼值。例如 空格的編碼值是"%20"。

    下表中列出了一些URL特殊符號及編碼
    :替換為%3A 

    例:要傳遞字符串“this%is#te=st&o k?+/”作為參數t傳給te.asp,則URL可以是:
    te.asp?t=this%25is%23te%3Dst%26o%20k%3F%2B%2F 或者
    te.asp?t=this%25is%23te%3Dst%26o+k%3F%2B%2F (空格可以用%20或+代替)

    java中URL 的編碼和解碼函數
    java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);

    在javascript 中URL 的編碼和解碼函數
    escape(String s)和unescape(String s) ;

    Java
    中URL 的編碼和解碼函數

    java
    .NET
    .URLEncoder.encode(String s)和java
    .Net
    .URLDecoder.decode(String s);


    JavaScript
    中URL 的編碼和解碼函數

    escape(String s)和unescape(String s) ;

    點的轉義:. ==> u002E

    美元符號的轉義:$ ==> u0024

    乘方符號的轉義:^ ==> u005E

    左大括號的轉義:{ ==> u007B

    左方括號的轉義:[ ==> u005B

    左圓括號的轉義:( ==> u0028

    豎線的轉義:| ==> u007C

    右圓括號的轉義:) ==> u0029

    星號的轉義:* ==> u002A

    加號的轉義:+ ==> u002B

    問號的轉義:? ==> u003F

    反斜杠的轉義: ==> u005C

    舉例:

    我們需要模擬的地址為:

    https://login.weixin.qq.com/jslogin?appid=wx782c26e4c19acffb&redirect_uri=https%3A%2F%2Fwx.qq.com%2Fcgi-bin%2Fmmwebwx-bin%2Fwebwxnewloginpage&fun=new&lang=en_US&=1453725386008

    ,所以我們模擬的代碼如下:

    #coding=utf8 import time, requests session = requests.Session() url = 'https://login.weixin.qq.com/jslogin' params = {'appid': 'wx782c26e4c19acffb','redirect_uri': 'https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage','fun': 'new','lang': 'en_US','_': int(time.time()),} r = session.get(url, params = params) print('Content: %s'%r.text)

    總結

    以上是生活随笔為你收集整理的前端基础——URL详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。