5.7日學習記錄及相關問題解答

1. 閱讀文章

復習
JAVA基礎——接口(全網最詳細教程)
Java之對象的多態性(使用生活中通俗的例子講解)

新學
JavaWeb——Servlet(全網最詳細教程包括Servlet源碼分析)

有用
創建Dynamic Web Project工程(詳細的科普文)

2. 問題解答

1. 什么是服務器?什么是客戶端?

客戶端(Client)是發送請求(request),服務器端(Service)是響應請求(response),返回相應的資源數據

一般web的客戶端就是瀏覽器(PC或移動設備),進行網頁資源的請求,服務器響應之后返回數據,再由瀏覽器進行渲染。

2. var 、 let 、const 區別
從 2020 年開始,ES2015(ES6)添加了let 、const

  • var

當在最外層函數的外部聲明var變量時,作用域是全局的。這意味著在最外層函數的外部用var聲明的任何變量都可以在windows中使用。
當在函數中聲明var時,作用域是局部的。這意味著它只能在函數內訪問。

var 變量可以重新聲明和修改
這意味著我們可以在相同的作用域內執行下面的操作,并且不會出錯

變量提升是 JavaScript 的一種機制:在執行代碼之前,變量和函數聲明會移至其作用域的頂部
var聲明的變量會被提升到其作用域的頂部,并使用 undefined 值對其進行初始化.

  • let

let現在已經成為變量聲明的首選,因為它是對var聲明的改進。

let 是塊級作用域。在帶有let的塊中聲明的變量僅可在該塊中使用

就像var一樣,用let聲明的變量可以在其范圍內被修改。但與var不同的是,let變量無法在其作用域內被重新聲明

使用let,是比var更好的選擇。當使用let時,你不必費心思考變量的名稱,因為變量僅在其塊級作用域內存在。

用let聲明的變量會被提升到其作用域的頂部,不會對值進行初始化
因此,如果你嘗試在聲明前使用let變量,則會收到Reference Error。

  • Const

像let聲明一樣,const聲明只能在聲明它們的塊級作用域中訪問

const 不能被修改并且不能被重新聲明。這意味著用const聲明的變量的值保持不變。不能修改或重新聲明。

因此,每個const聲明都必須在聲明時進行初始化。
當用const聲明對象時,這種行為卻有所不同。雖然不能更新const對象,但是可以更新該對象的屬性。

就像let一樣,const聲明也被提升到頂部,但是沒有初始化

參考資料
JavaScript 中的 Var、Let 和 Const 有什么區別

3. session、token、cookie區別

session 由服務端創建,cookie由客戶端創建。
token是用戶登錄后服務器端生成,并將其發送到客戶端。

http是無狀態的,即這次訪問與上次訪問是沒有關系的。所以如果想要判斷如果兩次請求是同一個人訪問的,則需要使用到cookie、token、session

cookie是客戶端發送給服務器的。
服務器生成一個 session 會話,并生成一個包含cookie的請求頭返回給客戶端
再此后客戶端再訪問服務器時攜帶這個cookie,cookie 中攜帶有用戶信息。
服務端接收到請求,驗證 cookie 信息

Token是一個由一串字符組成的令牌,用于在計算機系統中進行身份驗證和授權
Token 是一種在客戶端和服務端之間傳遞身份信息的方式。
當用戶登錄成功后,服務端會生成一個 Token,將其發送給客戶端。
服務器根據Token來限制用戶的行為,防止發生被攻擊的風險

參考
一文徹底搞清session、cookie、token的區別

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/12909.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/12909.shtml
英文地址,請注明出處:http://en.pswp.cn/web/12909.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PS濾鏡插件Camera Raw 15.4升級,開啟智能修圖

前段時間Adobe 更新了photoshop 的智能AI填充功能,深受很多設計師朋友的喜愛。Camera Raw作為PS的一個濾鏡插件對RAW圖片的處理上面有一定的優勢,Camera Raw 15.4升級了,開啟智能修圖木事,一起來看看吧! Camera Raw濾鏡…

【2024華為HCIP831 | 高級網絡工程師之路】刷題日記(18)

個人名片:🪪 🐼作者簡介:一名大三在校生,喜歡AI編程🎋 🐻???個人主頁🥇:落798. 🐼個人WeChat:hmmwx53 🕊?系列專欄:&a…

ClassificationPrimitive 內部原理

ClassificationPrimitive 內部原理 發明 ClassificationPrimitive的真是個天才。其原理是利用 webgl 的模板緩沖區實現。 渲染兩次, 首先是繪制模板, 然后繪制真正的內容。 示意圖: function createClass() {const { program, uniforms } WebGLProgram.buildPrograms(gl, …

代碼隨想錄算法訓練營第36期DAY22

DAY22 654最大二叉樹 自己做的時候忽略了:nums.length>1的題給條件。所以每次遞歸都要判斷是否size()>1,不要空的。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *rig…

牛客網刷題 | BC84 牛牛學數列2

目前主要分為三個專欄,后續還會添加: 專欄如下: C語言刷題解析 C語言系列文章 我的成長經歷 感謝閱讀! 初來乍到,如有錯誤請指出,感謝! 描述 這次牛牛又換了個數…

sql中的exists和in的區別

在SQL中,EXISTS 和 IN 都用于子查詢,但它們的用法和目的有所不同。 ### EXISTS EXISTS 是一個邏輯運算符,用于檢查子查詢是否返回任何行。如果子查詢返回至少一行,那么 EXISTS 子句的結果為 TRUE;否則,結果…

一個用Kotlin編寫簡易的串行任務調度器

引言 由于項目中有處理大量后臺任務并且串行執行的需求,特意寫了一個簡易的任務調度器,方便監控每個任務執行和異常情況,任務之間互不影響。正如上所述,Kotlin中的TaskScheduler類提供了一個強大的解決方案,用于使用S…

「AIGC」Python實現tokens算法

本文主要介紹通過python實現tokens統計,避免重復調用openai等官方api,開源節流。 一、設計思路 初始化tokenizer使用tokenizer將文本轉換為tokens計算token的數量二、業務場景 2.1 首次加載依賴 2.2 執行業務邏輯 三、核心代碼 from transformers import AutoTokenizer imp…

React: memo

React.memo 允許你的組件在 props 沒有改變的情況下跳過重新渲染。 const MemoizedComponent memo(SomeComponent, arePropsEqual?)React 通常在其父組件重新渲染時重新渲染一個組件。你可以使用 memo 創建一個組件,當它的父組件重新渲染時,只要它的新…

centos7服務器采用局域網內筆記本代理上網

一、背景 某臺服務器操作系統是centos 7,不能上網。我想在上面裝個ftp軟件:vsftpd。 二、思路 要安裝這個軟件,有2種方案 1)設置該臺centos7可以上網 2)離線安裝vsftpd 鑒于各種依賴,萬一因為依賴不全或…

《海峽科技與產業》是什么級別的期刊?是正規期刊嗎?能評職稱嗎?

問題解答 問:《海峽科技與產業》期刊是什么級別? 答:國家級 主管單位:中華人民共和國科學技術部 主辦單位:科技部海峽兩岸科學技術交流中心 問:《海峽科技與產業》影響因子? 答:…

相位;傅里葉變換和傅里葉級數是什么;歐拉公式是什么,和傅里葉關系;

目錄 相位 傅里葉變換公式使用舉例 實際案例 傅里葉變換和傅里葉級數是什么

隨筆:棋友們

我是在小學二年級學會中國象棋的,準確說,是學會象棋的下棋規則的,師傅是二舅。我最早的對手就是同學波仔。波仔比我略早學會象棋,總用連珠炮欺負我,開局幾步棋就把我將死。我不知道怎么破解。輪到我先走時,…

扭虧為盈的賽力斯,真正進入穩態了嗎?

“72小時內大定破1萬臺”。5月15日,問界新M5開啟全國大規模交付,從當前取得的成績來看,賽力斯的“富貴”似乎還將延續。 其實,此前基于問界新M7等車型的爆火,賽力斯已經找到了創收軌道。財報顯示,2024年一…

alist網盤自動同步

alist網盤自動同步 alist可以設置目錄定時轉存到各個網盤,做到夸網盤,多備份的效果可以將自己掛載的alist 下的各個目錄相互間進行同步,原理是采用alist原始api調用執行同步原理1.匹配文件名稱是否相同,2.文件大小是否相同,相同會…

一文詳細解析Google編碼規范工具cpplint的下載安裝與使用

目錄 一、什么是cpplint 二、cpplint能實現的功能 三、cpplint的下載與使用 1、配置python環境 2、安裝cpplint 四、cpplint常用命令講解 1、常用命令查看 2、常用命令詳解 3、命令使用方式 五、 cpplint的實用技巧 1、集成cpplint 1.1、修改調用接口. 1.2、直接把…

數據結構(C):樹的概念和二叉樹初見

目錄 🍺0.前言 1.樹概念及結構 2.認識一棵樹 3.樹的表示 3.1樹在實際中的運用(表示文件系統的目錄樹結構) 4.二叉樹 4.1特殊的二叉樹 4.2二叉樹的性質 💎5.結束語 🍺0.前言 言C之言,聊C之識&…

卷積模型的剪枝、蒸餾---蒸餾篇--NST特征蒸餾(以deeplabv3+為例)

本文使用NST特征蒸餾實現deeplabv3+模型對剪枝后模型的蒸餾過程; 一、NST特征蒸餾簡介 下面是兩張疊加了熱力圖(heat map)的圖片,從圖中很容易看出這兩個神經元具有很強的選擇性:左圖的神經元對猴子的臉部非常敏感,右側的神經元對字符非常敏感。這種激活實際上意味著神經…

程序員績效管理-序言

開辟一個新專欄專門討論程序員績效管理。作為軟件開發企業,公司的命脈掌握在程序員手中。程序員的績效管理是個超級難題。小張和老王專欄介紹了兩個典型的人員。但是這是兩個虛擬的極端人員,大部分開發人員沒有那么容易分辨。1個任務,應該1天…

LabVIEW軟件開發工程師需要具備哪些能力與素質?

成為一名優秀的LabVIEW軟件開發工程師,需要具備以下能力與素質: 技術能力 LabVIEW編程技能: 精通LabVIEW編程,能夠熟練使用其圖形化編程界面。熟悉LabVIEW中的各種功能模塊和工具包,如數據采集(DAQ&#x…