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-tw/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

發表回復

登錄後才能評論