- 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-hk/n/126626.html