互聯網測試開發面試題集錦(中)網絡篇


網絡篇

 

訪問一個完整http請求會經歷哪些問題

  1. 域名解析

  2. 發起TCP的3次握手

  3. 建立TCP連接后發起http請求

  4. 服務器端響應http請求,瀏覽器得到html代碼

  5. 瀏覽器解析html代碼,並請求html代碼中的資源

  6. 瀏覽器對頁面進行渲染呈現給用戶。

具體每一步驟可以參考https://www.cnblogs.com/YeChing/p/6337378.html

 

https和http請求的區別

  • https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。

  • http是超文本傳輸協議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協議。

  • http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。

  • http的連接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比http協議

按加密來說涉及到了非對稱加密以及證書CA的處理,具體可以自行搜索了解下
https://www.cnblogs.com/wqhwe/p/5407468.html

 

tcp/ip五層協議有什么,每層的作用

https://mp.weixin.qq.com/s/nwk_3uJd_edRD1h9YxPvzA
可能會問你,http協議位於第幾層,還有就是tcp協議位於第幾層。
http在應用層,負責數據的包裝,tcp位於傳輸層負責數據傳輸
順便可以看看OSI七層協議
http://www.ha97.com/3215.html

 

http有哪些請求方式,get和post請求有什么區別

  • get重點在從服務器上獲取資源,post重點在向服務器發送數據;

  • get傳輸數據是通過URL請求,以field(字段)= value的形式,置於URL后,並用"?"連接,多個請求數據間用"&"連接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,這個過程用戶是可見的;post傳輸數據通過Http的post機制,將字段與對應值封存在請求實體中發送給服務器,這個過程對用戶是不可見的;

  • Get傳輸的數據量小,因為受URL長度限制,但效率較高,Post可以傳輸大量數據,所以上傳文件時只能用Post方式;

  • post較get安全性較高,get是不安全的,因為URL是可見的,可能會泄露私密信息,如密碼等.

  • get方式只能支持ASCII字符,向服務器傳的中文字符可能會亂碼,post支持標准字符集,可以正確傳遞中文字符。

 

http請求和http響應包含哪些內容

請求報文包含三部分:
a、請求行:包含請求方法、URI、HTTP版本信息

b、請求首部字段

c、請求內容實體
響應報文包含三部分:

a、狀態行:包含HTTP版本、狀態碼、狀態碼的原因短語

b、響應首部字段

c、響應內容實體

 

TCP的三次握手過程、四次揮手過程

http://blog.csdn.net/omnispace/article/details/52701752

還有就是問為什么是三次握手,四次揮手

 

Socket編程了解么,應用在哪些地方

 

可以把 WebSocket 看成是 HTTP 協議為了支持長連接所打的一個大補丁。WebSocket是HTML5下一種新的協議。它實現了瀏覽器與服務器全雙工通信。最大不同是:
WebSocket是一種雙向通信協議。在建立連接后,WebSocket服務器端和客戶端都能主動向對方發送或接收數據,就像Socket一樣;
WebSocket需要像TCP一樣,先建立連接,連接成功后才能相互通信
一個使用WebSocket應用於視頻的業務思路如下:
使用心跳維護websocket鏈路,探測客戶端端的網紅/主播是否在線
設置負載均衡7層的proxy_read_timeout默認為60s
設置心跳為50s,即可長期保持Websocket不斷開

 

 

http請求的狀態碼一般有哪些?3開頭的一般是指什么

1xx:指示信息--表示請求已接收,繼續處理

2xx:成功--表示請求已被成功接收、理解、接受

3xx:重定向--要完成請求必須進行更進一步的操作

4xx:客戶端錯誤--請求有語法錯誤或請求無法實現

5xx:服務器端錯誤--服務器未能實現合法的請求

 

 

如果一個網址無法訪問,怎么排查什么原因

 

ping www.xx.com
或者瀏覽器訪問一般都會有返回結果502等

 

如果有正在看直播的用戶,反饋太卡,有可能什么原因,怎么定位問題

如果有正在看直播的用戶,反饋太卡,有可能什么原因,怎么定位問題

自己網速慢,測速;或者內存不足,查看本機內存情況;網頁緩存過多,清空;電腦中毒了;瀏覽器版本過低。

 

WSGI和FastCGI的區別

 

https://www.biaodianfu.com/cgi-fastcgi-wsgi.html

 

抓包工具的使用

 

如charles設置代理抓app的包等,壓力測試,模擬弱網情況等,重定向,更改請求。

http://blog.csdn.net/zhangxiang_1102/article/details/77855548

 

 

cookie與session區別

cookie數據存放在客戶的瀏覽器上,session數據放在服務器上;

cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙,考慮到安全應當使用session;
session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能。考慮到減輕服務器性能方面,應當使用COOKIE;
單個cookie在客戶端的限制是3K,就是說一個站點在客戶端存放的COOKIE不能超過3K;
Cookie和Session的方案雖然分別屬於客戶端和服務端,但是服務端的session的實現對客戶端的cookie有依賴關系的,上面我講到服務端執行session機制時候會生成session的id值,這個id值會發送給客戶端,客戶端每次請求都會把這個id值放到http請求的頭部發送給服務端,而這個id值在客戶端會保存下來,保存的容器就是cookie,因此當我們完全禁掉瀏覽器的cookie的時候,服務端的session也會不能正常使用

 

 

Tcp與udp區別

http://blog.csdn.net/li_ning_/article/details/52117463

TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發送數據之前不需要建立連接TCP提供可靠的服務。
TCP連接傳送的數據,無差錯,不丟失,不重復,且按序到達;UDP盡最大努力交付,即不保證可靠交付
TCP面向字節流,實際上是TCP把數據看成一連串無結構的字節流;UDP是面向報文的,UDP沒有擁塞控制,因此網絡出現擁塞不會使源主機的發送速率降低(對實時應用很有用,如IP電話,實時視頻會議等)
每一條TCP連接只能是點到點的;UDP支持一對一,一對多,多對一和多對多的交互通信
TCP首部開銷20字節;UDP的首部開銷小,只有8個字節
TCP的邏輯通信信道是全雙工的可靠信道,UDP則是不可靠信道(待續)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM