<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## :-: **單引號和雙引號的區別** 在PHP中,字符串的定義可以使用單引號,也可以使用雙引號。但是必須使用同一種單或雙引號來定義字符串,如:‘Hello"和“Hello'為非法的字符串定義。? 定義字符串時,只有一種引號被視為定義符,即單引號或雙引號。于是,如果一個字符串由雙引號開始,那么只有雙引號被分析器解析。這樣,你就可以在雙引號串中包含任何其他字符,甚至單引號。 ## :-: **isset 和 empty 的區別** **empty方法:** * 變量不存在,返回true * 變量存在,值為空,返回true * 變量存在,值不為空,返回false **isset方法:** * 變量存在,返回true * 變量不存在,返回false ## :-: **Cookie 和 Session 的區別和關系** * **安全性** Session 比 Cookie 安全性更高。 * **存儲位置不同** Cookie 在客戶端(瀏覽器) Session 在服務器端。 * **存儲容量不同** 單個 Cookie 保存的數據不能超過 4K,一個站點最多保存20個Cookie。 對于session來說并沒有上限,但出于對服務器端的性能考慮,session內不要存放過多的東西,并且設置session刪除機制。 * **服務器壓力不同:** session是保管在服務器端的,每個用戶都會產生一個session。假如并發訪問的用戶十分多,會產生十分多的session,耗費大量的內存。 cookie保管在客戶端,不占用服務器資源。對于并發用戶十分多的網站,cookie是很好的選擇。 * **跨域支持上不同:** cookie支持跨域名訪問。session不支持跨域名訪問。 ## :-: **如何實現不基于session和cookie的用戶認證。** 將用戶信息加密放到http的header部分,每次拿到http的時候,驗證獲取header的信息 # :-: 進階篇 ## :-: **TCP為什么是三次握手,為什么不是兩次或者四次** 這是一個很有意思的問題~ ?   首先,我們要知道**TCP是全雙工**的,即客戶端在給服務器端發送信息的同時,服務器端也可以給客戶端發送信息。而半雙工的意思是A可以給B發,B也可以給A發,但是A在給B發的時候,B不能給A發,即不同時,為半雙工。 單工為只能A給B發,B不能給A發; 或者是只能B給A發,不能A給B發。   我們假設A和B是通信的雙方。我理解的握手實際上就是通信,**發一次信息就是進行一次握手**。 * 第一次握手: A給B打電話說,你可以聽到我說話嗎? * 第二次握手: B收到了A的信息,然后對A說: 我可以聽得到你說話啊,你能聽得到我說話嗎? ? * 第三次握手: A收到了B的信息,然后說可以的,我要給你發信息啦!   **在三次握手之后,A和B都能確定這么一件事: 我說的話,你能聽到; 你說的話,我也能聽到。?這樣,就可以開始正常通信了。**   **注意: HTTP是基于TCP協議的,所以每次都是客戶端發送請求,服務器應答,但是TCP還可以給其他應用層提供服務,即可能A、B在建立鏈接之后,誰都可能先開始通信。   如果兩次,那么B無法確定B的信息A是否能收到,所以如果B先說話,可能后面的A都收不到,會出現問題   如果四次,那么就造成了浪費,因為在三次結束之后,就已經可以保證A可以給B發信息,A可以收到B的信息; B可以給A發信息,B可以收到A的信息。** ## :-: **你了解設計模式嗎?說下你最常用的設計模式**
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看