web1:http协议简介和用netassist和py程序当http服务器

HTTP协议
netassist当http服务器
py程序当http服务器

HTTP协议

在web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以:

  • HTTP是在网络上传输HTML的协议,用来浏览器和服务器的通信。

1.浏览器最好用谷歌和火狐

http协议的一部分

浏览器----->服务器发送的请求格式

GET / HTTP/1.1
Host: 192.168.79.1:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1

简单介绍下

组成功能
get /标记着浏览器请求的是哪一个页面
host服务器的ip地址,请求的目标
connection链接
accept浏览器可以接受的格式
user-agent浏览器的版本
accept-encoding可以接收的格式
accept-language可以接收的语言

默认提交这么多的数据


服务器----->浏览器发送的请求格式

HTTP/1.1 200 OK
Bdpagetype: 1
Bdqid: 0xaa27106b0003e112
Cache-Control: private
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html
Cxy_all: baidu+ed43ff7196d3ddacb010b81a9dd3c19a
Date: Tue, 05 Mar 2019 03:08:08 GMT
Expires: Tue, 05 Mar 2019 03:08:00 GMT
Server: BWS/1.1
Set-Cookie: delPer=0; path=/; domain=.baidu.com
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: BD_HOME=0; path=/
Set-Cookie: H_PS_PSSID=1435_21121_28585_28558_28604; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Vary: Accept-Encoding
X-Ua-Compatible: IE=Edge,chrome=1
Transfer-Encoding: chunked
组成功能
date服务器当前时间
cache-control缓存是公有还是私有
content-encoding压缩格式
content_type浏览器格式和编码
server服务器
set-cookle浏览记录

netassist当http服务器

1.建立连接,netassist得到浏览器发送的信息。
2.netassist作为服务器返回信息。

1.建立连接,netassist得到浏览器发送的信息。

在这里插入图片描述

在这里插入图片描述


2.netassist作为服务器返回信息。

在这里插入图片描述得到这样的结果:
在这里插入图片描述


py程序当http服务器

import socket


def main():
    # 创建套接字
    tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

    # 绑定端口
    localaddr = ("",8080)
    tcp_server_socket.bind(localaddr)

    #换为接听模式
    tcp_server_socket.listen(128)

    # 等待客户端连接
    new_socket,client_addr = tcp_server_socket.accept()

    # 接受数据
    recv_data = new_socket.recv(1024)
    print (recv_data)

    # 返回数据
    response = "HTTP/1.1 200 OK\r\n"
    response +="\r\n"
    response +="hahaha"

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

    # 关闭套接字
    tcp_server_socket.close()


if __name__ == '__main__':
     main()
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值