(一)web的本质

web的本质

工具:pycharm、浏览器

当浏览器请求网页时,它使用一种被称为超文本传输协议(HTTP)的协议和服务通信。当浏览器发出HTTP请求web服务器则回应一个HTTP响应,响应中包含了状态码和和请求的内容。浏览器发出请求后,会收到一个200K的响应码,该响应码确认了请求的资源确实存在,且响应中还包含了网的内容。随后,web浏览器会下载并解析该h网页内容。

用户浏览器(socket客户端)
   3.客户端往服务端发消息
   6.客户端接收消息
   7.close

网站(socket服务端)
   1.启动IP、监听端口
   2.等待客户端连接
   4服务端接收消息
   5.服务端回消息
   7.close

代码示例


import socket


sock = socket.socket()
# 绑定ip(127.0.0.1)和服务端口(807)
sock.bind(('127.0.0.1', 807))
# 开始监听端口
sock.listen(5)

while True:
        # 阻塞,获取客户端的连接
        conn,addr = sock.accept()
        # 有人连接了,获取用户发送的数据
        data = conn.recv(8096)
        ''' 遵循客户端和消息端的消息响应格式(http:响应头+响应体)'''
        # 响应头
        conn.send(b"HTTP/1.1 200 OK\r\n\r\n")
        # 响应体
        conn.send(b"hello,world!")
        conn.close()

新建一个项目复制粘贴以上代码后运行,打开浏览器输入网址:127.0.0.1:807,效果如下图显示

服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值