五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

使用Python手動(dòng)搭建一個(gè)網(wǎng)站服務(wù)器,在瀏覽器中顯示你想要展現(xiàn)的內(nèi)容

2021-11-17 14:13 作者:松鼠愛吃餅干  | 我要投稿

前言

在公司網(wǎng)站開發(fā)中,我們往往借助于Flask、Django等網(wǎng)站開發(fā)框架去提高網(wǎng)站開發(fā)效率。那么在面試后端開發(fā)工程師的時(shí)候,面試官可能就會(huì)問到網(wǎng)站開發(fā)的底層原理是什么?

我們不止僅僅會(huì)使用框架開發(fā),還需要知其所以然

今天領(lǐng)大家不借助任何框架的基礎(chǔ)上手動(dòng)搭建一個(gè)資料查找網(wǎng)站


主要內(nèi)容

  • TCP網(wǎng)絡(luò)模型

  • 正則表達(dá)式匹配資源

  • 如何編寫一個(gè)tcp server服務(wù)端

開始我們的代碼,先是導(dǎo)入模塊

如何實(shí)現(xiàn)一個(gè)靜態(tài)的服務(wù)器呢? 可以使用Python自帶的一個(gè)通訊模型:socket

python中內(nèi)置的網(wǎng)絡(luò)模型庫tcp / udp


為瀏覽器發(fā)送數(shù)據(jù)的函數(shù)

1. 當(dāng)瀏覽器鏈接到網(wǎng)站服務(wù)器的時(shí)候


2. 向?yàn)g覽器發(fā)送http數(shù)據(jù)

如果瀏覽器在接收完http協(xié)議數(shù)據(jù)之后遇到了換行,自動(dòng)將下面的數(shù)據(jù)轉(zhuǎn)成網(wǎng)站內(nèi)容body中去


3. 瀏覽器接受到的數(shù)據(jù)是由編碼集的,所以我們需要對(duì)字符串進(jìn)行一次編碼


4. 當(dāng)服務(wù)完瀏覽器之后,需要釋放系統(tǒng)資源


創(chuàng)建一個(gè)執(zhí)行函數(shù)

1. 創(chuàng)建一個(gè)tcp套接字

socket模塊需要兩個(gè)參數(shù) 網(wǎng)絡(luò)協(xié)議(pc ipv4 ipv6) 模型類型


我們操作系統(tǒng)內(nèi)部有65535個(gè)服務(wù)端口,當(dāng)一個(gè)程序運(yùn)行的時(shí)候[進(jìn)程] 占用一個(gè)端口
瀏覽器軟件運(yùn)行占用的端口:80
文件上傳端口:22
網(wǎng)站指定端口:443

端口是有限的,當(dāng)程序完成任務(wù)之后一定要釋放端口 刷新資源

2. 當(dāng)網(wǎng)站服務(wù)中斷時(shí) 需要立即釋放端口


3.綁定本機(jī)信息


通過瀏覽器去訪問網(wǎng)站資源 [數(shù)據(jù) html css JavaScript 靜態(tài)文件(圖片 音頻)]
需要讓瀏覽器首先能找到這臺(tái)電腦 ip 才可以訪問這臺(tái)電腦的數(shù)據(jù)資源
需要綁定電腦的ip地址

4.將網(wǎng)站服務(wù)設(shè)置成監(jiān)聽模式

等待瀏覽器鏈接


網(wǎng)站服務(wù)


啟動(dòng)程序


運(yùn)行代碼


出現(xiàn)亂碼,可以把utf-8改為GBK



使用Python手動(dòng)搭建一個(gè)網(wǎng)站服務(wù)器,在瀏覽器中顯示你想要展現(xiàn)的內(nèi)容的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
乐山市| 界首市| 盐亭县| 东阳市| 山东省| 手机| 甘洛县| 莆田市| 开封市| 百色市| 邵阳市| 勐海县| 南江县| 新绛县| 灵丘县| 甘泉县| 阳山县| 启东市| 石景山区| 洛川县| 旬阳县| 永城市| 额济纳旗| 育儿| 治县。| 兴隆县| 岚皋县| 元氏县| 绥阳县| 平罗县| 汉阴县| 开封县| 公安县| 游戏| 襄城县| 渭源县| 瑞金市| 霍山县| 罗江县| 乐业县| 大悟县|