python就業班 http協議

2021-10-24 12:48:05 字數 4010 閱讀 7680

# http:超文字傳輸協議,基於tcp協議

"""瀏覽器向伺服器傳送的請求格式如下:

伺服器給瀏覽器回送的資料格式如下:

http/1.1 200 ok # http協議為1.1版本,

bdpagetype: 1

bdqid: 0xb2c1702b000047f9

cache-control: private

connection: keep-alive

content-encoding: gzip

content-type: text/html;charset=utf-8 # 瀏覽器格式

date: tue, 06 oct 2020 02:25:00 gmt # 伺服器當前使時間

expires: tue, 06 oct 2020 02:24:14 gmt

server: bws/1.1

set-cookie: bdsvrtm=0; path=/ # 根據cookie追蹤使用者

"""# 瀏覽器向伺服器傳送請求,至少包括

# 伺服器給瀏覽器傳送資料,至少包括:

# """為這個客戶端返回資料"""

# # 1.接受瀏覽器傳送過來的請求。即http請求

## # 2.返回http格式的資料給瀏覽器

# # 2.1 準備傳送給瀏覽器的資料---header

# response="http/1.1 200 ok\r\n" # \r\n 表示換行

# response+="\r\n"

# # 2.2 準備傳送給瀏覽器的資料---body

# response+="hahahaha"

# new_socket.send(response.encode("utf-8"))

## # 關閉套接字

# new_socket.close()

## def main():

# """用來完成整體的控制"""

# # 1.建立套接字

# tcp_server_socket=socket.socket(socket.af_inet,socket.sock_stream)

## # 2.繫結

# tcp_server_socket.bind(("",7890))

## # 3.變為監聽套接字

# tcp_server_socket.listen(128)

## while true:

# # 4.等到新客戶端的鏈結

# new_socket,client_addr=tcp_server_socket.accept()

## # 5.為這個客戶端服務

# service_client(new_socket)

# # 關閉監聽套接字

# tcp_server_socket.close()

## if __name__=="__main__":

# main()

"""tcp三次握手:保證收發雙方在收資料和發資料之間準備好資源。

"""# import socket

## def service_client(new_socket):

# """為這個客戶端返回資料"""

# # 1.接受瀏覽器傳送過來的請求。即http請求

## # 2.返回http格式的資料給瀏覽器

# # 2.1 準備傳送給瀏覽器的資料---header

# response="http/1.1 200 ok\r\n" # \r\n 表示換行

# response+="\r\n"

# # 2.2 準備傳送給瀏覽器的資料---body

# response+="hahahaha"

# f=open("./html/index.html","rb")

# html_content=f.read()

# f.close()

## # 將response header傳送給瀏覽器

# new_socket.send(response.encode("utf-8"))

# # 將response body傳送給瀏覽器

# new_socket.send(html_content)

## # 關閉套接字

# new_socket.close()##

# def main():

# """用來完成整體的控制"""

# # 1.建立套接字

# tcp_server_socket=socket.socket(socket.af_inet,socket.sock_stream)

# # 設定當前伺服器先close,即伺服器端4次揮手後資源立即釋放,這樣就保證了下次執行程式時可以立即建立連線

# tcp_server_socket.setsockopt(socket.sol_socket,socket.so_reuseaddr,1)

## # 2.繫結

# tcp_server_socket.bind(("",7890))

## # 3.變為監聽套接字

# tcp_server_socket.listen(128)

## while true:

# # 4.等到新客戶端的鏈結

# new_socket,client_addr=tcp_server_socket.accept()

## # 5.為這個客戶端服務

# service_client(new_socket)

# # 關閉監聽套接字

# tcp_server_socket.close()

## if __name__=="__main__":

# main()

Python就業班筆記整理(二)

listen backlog 數值代表的含義?監聽變主動為被動,backlog指定最多允許多少個客戶連線到伺服器。它的值至少為1。收到連線請求後,這些請求需要排隊,如果佇列滿,就拒絕請求 請注意,最大限制是取決於作業系統,ubuntu上預設是128 tcp服務端recv解堵塞的兩種方式?1 收到客戶...

最新傳智播客Python基礎班 就業班教程

課程介紹 這是乙個基於vue2.0的 實戰開發類課程,適用於對vue有些許基礎的同學。課程會手把手教你如何在專案中使用vue及相關外掛程式實現乙個完整的購物流程。從商品的展示到加入購物車,再到商品的結算 訂單等等,一應俱全。知識點 vue基礎元件庫 vuex vue router vue cli以及...

泛型,java,就業班

自定義泛型 原理 自定義泛型可以理解為是乙個資料型別的佔位符,或者理解為是乙個資料型別的變數1.泛型方法 泛型方法格式 泛型方法的定義格式 修飾符 宣告自定義泛型 返回值型別 函式名 形參列表 注意 1.1.在方法上的自定義泛型的具體資料型別是呼叫該方法時傳入實參時確定的 1.2.自定義泛型使用的識...