我是做後臺的,前端也做,我從最開始學習都一直在考慮一個問題,但始終得不到答案,那就是我們把網站編譯後掛到伺服器,然後這是會有多個使用者訪問伺服器,他們各自面對的又是什麼情況,我曾經問我的一個朋友,他說每個使用者訪問伺服器網站是,網站會為它們新建一個副本,然後每個副本對應一個訪問的使用者,那我就好奇了,那麼這個說法是對的嗎?假如是對的話,那麼他是以什麼行事展示的呢?應用程式域?程式集?上下文?那麼我設定一個靜態的類是在一個副本使用還是所有副本通用呢。假如有了解的,可以回覆一下我,這個問題困擾我兩年了,去年曾在百度知道提問,結果回答的亂七八糟的,謝謝回覆的各位了(●—●)
回覆列表
-
1 # killman
-
2 # 碼農傳奇
每個使用者的訪問都是一個獨立的session吧!一般而言,使用者之間是不會相互影響的吧!不過,某些情況下,比如說檔案上傳功能,一般會使用到多執行緒進行操作吧!
-
3 # java老菜鳥
題主說的動態http請求,一般來說在我們的程式碼之前伺服器會進行以下處理:
解析請求,根據http協議解析成自己的資料格式,這些資料會傳遞給我們的程式。
訪問控制,會根據伺服器的配置來檢查當前請求是否允許,常見的ip黑名單會在這個階段處理。
根據uri匹配合適的後臺處理程式,並執行,將執行結果返回給使用者。這段程式就是我們開發人員編寫的程式碼了。
至於執行方式,有很多形式,apache使用多程序加多執行緒的模式,java是多執行緒,而go則是協程,不管哪種併發模式,都可以認為是執行一段你所編寫的程式碼的副本。
這個要問老師了。一般人學習不會特別在意底層實現過程。即使老師講過也忘了。web 在遵循http協議的過程。但是具象到各種語言編寫時會有不同。比如java可能老師也就扒扒servlet的整個過程。有些時候也不能說完全刨根問底。大量的框架出現也是為了讓你更關注業務的實現方法。而非底層的實現過程