最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java經(jīng)典面試題匯總:網(wǎng)絡(luò)編程

 更新時間:2021年07月21日 10:01:57   作者:讓程序飛  
本篇總結(jié)的是Java 網(wǎng)絡(luò)編程相關(guān)的面試題,后續(xù)會持續(xù)更新,希望我的分享可以幫助到正在備戰(zhàn)面試的實習生或者已經(jīng)工作的同行,如果發(fā)現(xiàn)錯誤還望大家多多包涵,不吝賜教,謝謝

1. HTTP 響應(yīng)碼 301 和 302 代表的是什么?有什么區(qū)別?

301:永久重定向。 302:暫時重定向。

它們的區(qū)別是,301 對搜索引擎優(yōu)化(SEO)更加有利;302 有被提示為網(wǎng)絡(luò)攔截的風險。

2. 簡單說一下http協(xié)議?

HTTP協(xié)議是Hyper Text Transfer Protocol(超文本傳輸協(xié)議)的縮寫,是用于從萬維網(wǎng)(WWW:World Wide Web )服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。HTTP是一個基于TCP/IP通信協(xié)議被用于在Web瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息,HTTP協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的數(shù)據(jù)加密。

3. HTTP與HTTPS的區(qū)別?

  • https協(xié)議需要到CA申請證書,一般免費證書較少,因而需要一定費用。
  • http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl/tls加密傳輸協(xié)議。
  • http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。
  • http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL/TLS+HTTP協(xié)議構(gòu)建的可進行加密傳輸、身份認證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全。

4. HTTP協(xié)議下客戶端請求報文是什么?

HTTP請求由四個部分組成,分別是:

  • 請求行(request line)
  • 請求頭部(header)
  • 空行
  • 請求數(shù)據(jù)

5. HTTP協(xié)議服務(wù)器響應(yīng)報文有哪些?

HTTP響應(yīng)也由四個部分組成,分別是:

  • 狀態(tài)行
  • 消息報頭
  • 空行
  • 響應(yīng)正文

6. HTTP協(xié)議中的請求方法有哪些?

一共八種請求方法:GET, POST ,HEAD,OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

方法 描述
GET 請求指定的頁面信息,并返回實體主體。
POST

向指定資源提交數(shù)據(jù)進行處理請求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請求體中。

POST請求可能會導(dǎo)致新的資源的建立和/或已有資源的修改。

HEAD 類似于get請求,只不過返回的響應(yīng)中沒有具體的內(nèi)容,用于獲取報頭
OPTIONS 允許客戶端查看服務(wù)器的性能。
PUT 從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容。
DELETE 請求服務(wù)器刪除指定的頁面。
TRACE 回顯服務(wù)器收到的請求,主要用于測試或診斷。
CONNECT HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器

7. 常見的HTTP狀態(tài)碼有哪些?

當瀏覽者訪問一個網(wǎng)頁時,瀏覽者的瀏覽器會向網(wǎng)頁所在服務(wù)器發(fā)出請求。當瀏覽器接收并顯示網(wǎng)頁前,此網(wǎng)頁所在的服務(wù)器會返回一個包含HTTP狀態(tài)碼的信息頭(server header)用以響應(yīng)瀏覽器的請求。

HTTP狀態(tài)碼的英文為HTTP Status Code。下面是常見的HTTP狀態(tài)碼:

  • 200 - 請求成功
  • 301 - 資源(網(wǎng)頁等)被永久轉(zhuǎn)移到其它URL
  • 404 - 請求的資源(網(wǎng)頁等)不存在
  • 500 - 內(nèi)部服務(wù)器錯誤

8. forward 和 redirect 的區(qū)別?

  • forward 是轉(zhuǎn)發(fā) 和 redirect 是重定向:
  • 地址欄 url 顯示:foward url 不會發(fā)生改變,redirect url 會發(fā)生改變;
  • 數(shù)據(jù)共享:forward 可以共享 request 里的數(shù)據(jù),redirect 不能共享;
  • 效率:forward 比 redirect 效率高。

9. 簡述 tcp 和 udp的區(qū)別?

tcp 和 udp 是 OSI 模型中的運輸層中的協(xié)議。tcp 提供可靠的通信傳輸,而 udp 則常被用于讓廣播和細節(jié)控制交給應(yīng)用的通信傳輸。 兩者的區(qū)別大致如下:

  • tcp 面向連接,udp 面向非連接即發(fā)送數(shù)據(jù)前不需要建立鏈接;
  • tcp 提供可靠的服務(wù)(數(shù)據(jù)傳輸),udp 無法保證;
  • tcp 面向字節(jié)流,udp 面向報文;
  • tcp 數(shù)據(jù)傳輸慢,udp 數(shù)據(jù)傳輸快;

10. TCP 為什么要三次握手,兩次不行嗎?為什么?

如果采用兩次握手,那么只要服務(wù)器發(fā)出確認數(shù)據(jù)包就會建立連接,但由于客戶端此時并未響應(yīng)服務(wù)器端的請求,那此時服務(wù)器端就會一直在等待客戶端, 這樣服務(wù)器端就白白浪費了一定的資源。若采用三次握手,服務(wù)器端沒有收到來自客戶端的再此確認,則就會知道客戶端并沒有要求建立請求,就不會浪費服務(wù)器的資源。

11. 說一下 TCP 粘包是怎么產(chǎn)生的?

TCP 粘包可能發(fā)生在發(fā)送端或者接收端,分別來看兩端各種產(chǎn)生粘包的原因:

  • 發(fā)送端粘包:發(fā)送端需要等緩沖區(qū)滿才發(fā)送出去,造成粘包;
  • 接收方粘包:接收方不及時接收緩沖區(qū)的包,造成多個包接收。

12. OSI 的七層模型都有哪些?

  • 物理層:利用傳輸介質(zhì)為數(shù)據(jù)鏈路層提供物理連接,實現(xiàn)比特流的透明傳輸。
  • 數(shù)據(jù)鏈路層:負責建立和管理節(jié)點間的鏈路。
  • 網(wǎng)絡(luò)層:通過路由選擇算法,為報文或分組通過通信子網(wǎng)選擇最適當?shù)穆窂健?/li>
  • 傳輸層:向用戶提供可靠的端到端的差錯和流量控制,保證報文的正確傳輸。
  • 會話層:向兩個實體的表示層提供建立和使用連接的方法。
  • 表示層:處理用戶信息的表示問題,如編碼、數(shù)據(jù)格式轉(zhuǎn)換和加密解密等。
  • 應(yīng)用層:直接向用戶提供服務(wù),完成用戶希望在網(wǎng)絡(luò)上完成的各種工作。

13. GET和POST的區(qū)別?

POST和GET都是向服務(wù)器提交數(shù)據(jù),并且都會從服務(wù)器獲取數(shù)據(jù)。

1、傳送方式:get通過地址欄傳輸,post通過報文傳輸。

2、傳送長度:get參數(shù)有長度限制(受限于url長度),而post無限制

3、GET和POST還有一個重大區(qū)別,簡單的說:

GET產(chǎn)生一個TCP數(shù)據(jù)包;POST產(chǎn)生兩個TCP數(shù)據(jù)包

長的說:

對于GET方式的請求,瀏覽器會把http header和data一并發(fā)送出去,服務(wù)器響應(yīng)200(返回數(shù)據(jù));

而對于POST,瀏覽器先發(fā)送header,服務(wù)器響應(yīng)100 continue,瀏覽器再發(fā)送data,服務(wù)器響應(yīng)200 ok(返回數(shù)據(jù))。

建議:

1、get方式的安全性較Post方式要差些,包含機密信息的話,建議用Post數(shù)據(jù)提交方式;

2、在做數(shù)據(jù)查詢時,建議用Get方式;而在做數(shù)據(jù)添加、修改或刪除時,建議用Post方式;

14. 如何實現(xiàn)跨域?

實現(xiàn)跨域有以下幾種方案:

服務(wù)器端運行跨域 設(shè)置 CORS 等于 *;

在單個接口使用注解 @CrossOrigin 運行跨域;

使用 jsonp 跨域;

15. 什么是WebSocket?

WebSocket是一種在單個TCP連接上進行全雙工通信的協(xié)議。

WebSocket使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡單,允許服務(wù)端主動向客戶端推送數(shù)據(jù)。在WebSocket API中,瀏覽器和服務(wù)器只需要完成一次握手,兩者之間就直接可以創(chuàng)建持久性的連接,并進行雙向數(shù)據(jù)傳輸。

16. WebSocket與HTTP的關(guān)系

相同點

1. 都是一樣基于TCP的,都是可靠性傳輸協(xié)議。

2. 都是應(yīng)用層協(xié)議。

不同點

1. WebSocket是雙向通信協(xié)議,模擬Socket協(xié)議,可以雙向發(fā)送或接受信息。HTTP是單向的。

2. WebSocket是需要握手進行建立連接的。

聯(lián)系

WebSocket在建立握手時,數(shù)據(jù)是通過HTTP傳輸?shù)摹5墙⒅?,在真正傳輸時候是不需要HTTP協(xié)議的。

17. WebSocket與Socket的關(guān)系

Socket其實并不是一個協(xié)議,而是為了方便使用TCP或UDP而抽象出來的一層,是位于應(yīng)用層和傳輸控制層之間的一組接口。

當兩臺主機通信時,必須通過Socket連接,Socket則利用TCP/IP協(xié)議建立TCP連接。TCP連接則更依靠于底層的IP協(xié)議,IP協(xié)議的連接則依賴于鏈路層等更低層次。WebSocket則是一個典型的應(yīng)用層協(xié)議。

區(qū)別

Socket是傳輸控制層協(xié)議,WebSocket是應(yīng)用層協(xié)議。

總結(jié)

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Springboot優(yōu)化內(nèi)置服務(wù)器Tomcat優(yōu)化方式(underTow)

    Springboot優(yōu)化內(nèi)置服務(wù)器Tomcat優(yōu)化方式(underTow)

    本文詳細介紹了Spring Boot中Tomcat和Undertow服務(wù)器的配置和優(yōu)化,包括初始線程數(shù)、最大線程數(shù)、最小備用線程數(shù)、最大請求數(shù)等參數(shù)的優(yōu)化建議,以及在高并發(fā)場景下Undertow相對于Tomcat的優(yōu)勢
    2024-12-12
  • Java中類加載過程全面解析

    Java中類加載過程全面解析

    這篇文章主要介紹了Java中類加載過程全面解析,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • mybatis查詢語句的背后揭秘

    mybatis查詢語句的背后揭秘

    這篇文章主要給大家介紹了關(guān)于mybatis查詢語句的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習或者使用mybatis具有一定的參考學(xué)習價值,需要的朋友們下面來一起學(xué)習學(xué)習吧
    2019-04-04
  • Windows下Java+MyBatis框架+MySQL的開發(fā)環(huán)境搭建教程

    Windows下Java+MyBatis框架+MySQL的開發(fā)環(huán)境搭建教程

    這篇文章主要介紹了Windows下Java+MyBatis框架+MySQL的開發(fā)環(huán)境搭建教程,Mybatis對普通SQL語句的支持非常好,需要的朋友可以參考下
    2016-04-04
  • 淺談java面向?qū)ο蟮臄?shù)組化信息處理

    淺談java面向?qū)ο蟮臄?shù)組化信息處理

    下面小編就為大家?guī)硪黄獪\談java面向?qū)ο蟮臄?shù)組化信息處理。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • SpringBoot靜態(tài)資源css,js,img配置方案

    SpringBoot靜態(tài)資源css,js,img配置方案

    這篇文章主要介紹了SpringBoot靜態(tài)資源css,js,img配置方案,下文給大家分享了三種解決方案,需要的朋友可以參考下
    2017-07-07
  • Java常見的四種負載均衡算法

    Java常見的四種負載均衡算法

    本文主要介紹了Java常見的四種負載均衡算法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-05-05
  • SpringBoot整合ES解析搜索返回字段問題

    SpringBoot整合ES解析搜索返回字段問題

    這篇文章主要介紹了SpringBoot整合ES解析搜索返回字段問題,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 詳談@Cacheable不起作用的原因:bean未序列化問題

    詳談@Cacheable不起作用的原因:bean未序列化問題

    這篇文章主要介紹了@Cacheable不起作用的原因:bean未序列化問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • list轉(zhuǎn)tree和list中查找某節(jié)點下的所有數(shù)據(jù)操作

    list轉(zhuǎn)tree和list中查找某節(jié)點下的所有數(shù)據(jù)操作

    這篇文章主要介紹了list轉(zhuǎn)tree和list中查找某節(jié)點下的所有數(shù)據(jù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論

台中市| 格尔木市| 三原县| 海城市| 福泉市| 仁化县| 郓城县| 朝阳区| 玉龙| 皋兰县| 四川省| 长宁县| 恩施市| 通河县| 牙克石市| 珲春市| 营山县| 兴文县| 竹溪县| 东城区| 彭泽县| 彰化市| 延安市| 长汀县| 六盘水市| 连江县| 柳州市| 托克逊县| 张北县| 福海县| 阜宁县| 涪陵区| 泾源县| 金塔县| 米泉市| 正镶白旗| 郑州市| 贵德县| 阿拉善盟| 梧州市| 皋兰县|