国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)遵守國家法律
武威市| 元氏县| 塔河县| 军事| 惠水县| 镇安县| 井研县| 新化县| 张掖市| 彰武县| 韩城市| 秀山| 都江堰市| 都安| 宝丰县| 包头市| 大姚县| 大新县| 扶余县| 西安市| 光泽县| 莎车县| 政和县| 莱西市| 石嘴山市| 桐城市| 札达县| 鸡东县| 广安市| 尚义县| 福州市| 威远县| 湘潭县| 南华县| 东方市| 日喀则市| 榕江县| 疏勒县| 平南县| 宝坻区| 静乐县|