js為什麼需要本地服務器地址(js運行在服務器端還是客戶端)

  • 1、.js文件需要什麼服務器承載
  • 2、html的 css js文件為什麼要外鏈,例如https://maxcdn.bootstrapcdn.com/放在本地目錄不好么?
  • 3、為什麼要把javascript放到服務器端上運行
  • 4、JS里AJAX的使用–(服務器與客戶端數據交換)

WSGI服務器。WSGI服務器的選擇很多,包括uWSGI和gunicorn,它們都可以處理所有的請求,包括由python對象處理的,也包括不是由python對象處理的,比如靜態的圖像,css,js等文件,理論上可以把整個動態網站都用WSGI服務器承載起來,也就是整個應用完全跑在Application服務器上。

這個是cdn地址,文件放在cdn上面在不同的地方都會有更快的訪問速度。

如果你的網站是全國性的,甚至是世界性的,用了cdn可以保證在不同地點都能有較快的訪問速度,cdn會把文件部署到多個地方,用戶取文件會就近獲取。

如果用本地文件,在本地訪問會更快,但是別人在別的地方訪問就不一定快。

1、首先JavaScript 是一種運行在瀏覽器中的解釋型的網絡的腳本語言/編程語言。

2、js單線程模型,從基因里限制了開發人員使用同步io的能力

3、考慮到高性能、符合事件驅動、沒有歷史包袱這3個主要原因

使用ajax需要先了解計算機前後端的通信原理,也就是需要了解我們的服務器與客戶端數據是如何交換的。

DNS的查詢過程:(以訪問為例)

1、在瀏覽器中輸入域名,操作系統會先檢查自己 本地的hosts文件 是否有這個網址映射關係,如果有,就先調用這個IP地址映射,完成域名解析。

2、如果hosts里沒有這個域名的映射,則查找 本地DNS解析器緩存 ,是否有這個網址映射關係,如果有,直接返回,完成域名解析。

3、如果hosts與本地DNS解析器緩存都沒有相應的網址映射關係,首先會找TCP/IP參數中設置的首選DNS服務器,在此我們叫它 本地DNS服務器 ,此服務器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。

4、如果要查詢的域名,不由本地DNS服務器區域解析,但該 服務器 已 緩存 了此網址映射關係,則調用這個IP地址映射,完成域名解析,此解析不具有權威性。

5、如果本地DNS服務器本地區域文件與緩存解析都失效,則根據本地DNS服務器的設置(是否設置轉發器)進行查詢,如果未用轉發模式,本地DNS就把請求發至 根DNS ,根DNS服務器收到請求後會判斷這個域名(.com)是誰來授權管理,並會返回一個負責該 頂級域名服務器 的一個IP。本地DNS服務器收到IP信息後,將會聯繫負責.com域的這台服務器。這台負責.com域的服務器收到請求後,如果自己無法解析,它就會找一個管理.com域的下一級DNS服務器地址(qq.com)給本地DNS服務器。當本地DNS服務器收到這個地址後,就會找qq.com域服務器,重複上面的動作,進行查詢,直至找到主機。

端口號

端口號—具有網絡功能的應用軟件的標識號。注意,端口號是不固定的,即可以由用戶手工可以分配(當然,一般在軟件編寫時就已經定義)。當然,有很多應用軟件有公認的默認的端口,比如FTP:20和21,HTTP:80,TELNET:23等等,這裡就不一一列舉了。一個軟件可以擁有多個端口號,這證明這個軟件擁有不止一個網絡功能。

0-1023是公認端口號,即已經公認定義或為將要公認定義的軟件保留的,而1024-65535是並沒有公共定義的端口號,用戶可以自己定義這些端口的作用。

那麼端口號到底有什麼作用呢?請大家繼續往下看。

當一台電腦啟動了一個可以讓遠程其他電腦訪問的程序,那麼它就要開啟至少一個端口號來讓外界訪問。我們可以把沒有開啟端口號的電腦看作是一個密封的房間,密封的房間當然不可能接受外界的訪問,所以當系統開啟了一個可以讓外界訪問的程序後它自然需要在房間上開一個窗口來接受來自外界的訪問,這個窗口就是端口。

那麼為什麼要給端口編號來區分它們呢,既然一個程序開了一個端口,那麼不是外部信息都可以通過這個開啟的端口來訪問了嗎?答案是不可以。為什麼呢?因為數據是用端口號來通知傳輸層協議送給哪個軟件來處理的,數據是沒有智慧的,如果很多的程序共用一個端口來接受數據的話,那麼當外界的一個數據包送來後傳輸層就不知道該送給哪一個軟件來處理,這樣勢必將導致混亂。

上一次提到提到在一個經過OSI第四層傳輸層封裝的數據段的第四層報頭裡包含兩個端口號,既源端口號和目的端口號,目的端口號的作用上面已經介紹了,下面讓我們了解一下原端口號吧。

源端口號一般是由系統自己動態生成的一個從1024-65535的號碼,當一台計算機A通過網絡訪問計算機B時,如果它需要對方返回數據的話,它也會隨機創建一個大於1023的端口,告訴B返回數據時把數據送到自己的哪個端口,然後軟件開始偵聽這個端口,等待數據返回。而B收到數據後會讀取數據包的源端口號和目的端口號,然後記錄下來,當軟件創建了要返回的數據後就把原來數據包中的原端口號作為目的端口號,而把自己的端口號作為原端口號,也就是說把收到的數據包中的原和目的反過來,然後再送回A,A再重複這個過程如此反覆直到數據傳輸完成。當數據全部傳輸完A就把源端口釋放出來,所以同一個軟件每次傳輸數據時不一定是同一個源端口號.

端口分類 邏輯意義上的端口有多種分類標準,下面將介紹兩種常見的分類:

1、 按端口號分布劃分

(1)知名端口(Well-Known Ports)

知名端口即眾所周知的端口號,範圍從0到1023,這些端口號一般固定分配給一些服務。比如21端口分配給FTP服務,25端口分配給SMTP(簡單郵件傳輸協議)服務,80端口分配給HTTP服務,135端口分配給RPC(遠程過程調用)服務等等。

(2)動態端口(Dynamic Ports)

動態端口的範圍從1024到65535,這些端口號一般不固定分配給某個服務,也就是說許多服務都可以使用這些端口。只要運行的程序向系統提出訪問網絡的申請,那麼系統就可以從這些端口號中分配一個供該程序使用。比如1024端口就是分配給第一個向系統發出申請的程序。在關閉程序進程後,就會釋放所佔用的端口號。

不過,動態端口也常常被病毒木馬程序所利用,如冰河默認連接端口是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等等。

2、按協議類型劃分

按協議類型劃分,可以分為TCP、UDP、IP和ICMP(Internet控制消息協議)等端口。下面主要介紹TCP和UDP端口:

(1)TCP端口

TCP端口,即傳輸控制協議端口,需要在客戶端和服務器之間建立連接,這樣可以提供可靠的數據傳輸。常見的包括FTP服務的21端口,Telnet服務的23端口,SMTP服務的25端口,以及HTTP服務的80端口等等。

(2)UDP端口

UDP端口,即用戶數據包協議端口,無需在客戶端和服務器之間建立連接,安全性得不到保障。常見的有DNS服務的53端口,SNMP(簡單網絡管理協議)服務的161端口,QQ使用的8000和4000端口等等。

常用的端口號

【21端口】

21端口主要用於FTP(File Transfer Protocol,文件傳輸協議)服務。

【23端口】

23端口主要用於Telnet(遠程登錄)服務,是Internet上普遍採用的登錄和仿真程序。

【25端口】

25端口為SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議)服務器所開放,主要用於發送郵件,如今絕大多數郵件服務器都使用該協議。

【53端口】

53端口為DNS(Domain Name Server,域名服務器)服務器所開放,主要用於域名解析,DNS服務在NT系統中使用的最為廣泛。

【69端口】

TFTP是Cisco公司開發的一個簡單文件傳輸協議,類似於FTP。

【80端口】

80端口是為HTTP(HyperText Transport Protocol,超文本傳輸協議)開放的,這是上網衝浪使用最多的協議,主要用於在WWW(World Wide Web,萬維網)服務上傳輸信息的協議。

【443 端口】

服務:Https

說明:網頁瀏覽端口,能提供加密和通過安全端口傳輸的另一種HTTP。

【109、110端口】

109端口是為POP2(Post Office Protocol Version 2,郵局協議2)服務開放的。

110端口是為POP3(郵件協議3)服務開放的,POP2、POP3都是主要用於接收郵件的。

原創文章,作者:LSSI9,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/126626.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
LSSI9的頭像LSSI9
上一篇 2024-10-03 23:09
下一篇 2024-10-03 23:09

相關推薦

  • cmd看地址

    本文將從多個方面詳細闡述cmd看地址,包括如何查看本機IP地址、如何查看路由器IP、如何查看DNS服務器IP等等。 一、查看本機IP地址 要查看本機IP地址,首先需要打開cmd窗口…

    編程 2025-04-29
  • 尚硅谷官網地址用法介紹

    尚硅谷是國內一家領先的技術培訓機構,提供了眾多IT職業的培訓,包括Java、Python、大數據、前端、人工智能等方向。其官網地址為http://www.atguigu.com/。…

    編程 2025-04-29
  • 服務器安裝Python的完整指南

    本文將為您提供服務器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • STUN 服務器

    STUN 服務器是一個網絡服務器,可以協助網絡設備(例如 VoIP 設備)解決 NAT 穿透、防火牆等問題,使得設備可以正常地進行數據傳輸。本文將從多個方面對 STUN 服務器做詳…

    編程 2025-04-29
  • 解決docker-compose 容器時間和服務器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與服務器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • Python調用crt telnet客戶端的實現

    本篇文章將詳細介紹如何使用Python調用crt telnet客戶端。我們將從以下幾個方面進行闡述: 一、安裝crt telnet客戶端 首先,我們需要下載並安裝crt telne…

    編程 2025-04-28
  • Idea2022變更Git地址

    本文將從以下幾個方面對Idea2022變更Git地址進行詳細闡述: 一、GitHub上修改Git倉庫地址 1、登錄GitHub,找到需要修改的Git倉庫 2、在代碼頁面點擊右上角的…

    編程 2025-04-28
  • 如何選擇MySQL服務器文件權限

    MySQL是一種流行的關係型數據庫管理系統。在安裝MySQL時,選擇正確的文件權限是保證安全和性能的重要步驟。以下是一些指導您選擇正確權限的建議。 一、權限選擇 MySQL服務器需…

    編程 2025-04-27
  • electron-egg打包後請求地址錯誤解決方法用法介紹

    本文將從多個方面對electron-egg打包後請求地址錯誤進行詳細闡述,並給出解決方法。 一、electron-egg打包後請求地址錯誤的表現 在使用 electron-egg …

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27

發表回復

登錄後才能評論