Python实现web服务器入门学习笔记(1)——HTTP协议

1.HTTP定义

HTTP(HyperText Transfer Protocol)是一种网络通讯协议,主要用于浏览器(客户端)和web服务器之间进行数据传输,通常先由浏览器根据HTTP协议规定的格式向web服务器发起请求,其次由web服务器根据请求信息返回数据(通常是HTML格式)给浏览器,最后浏览器解析收到的数据之后向用户进行展示。

2.HTTP初体验

2.1 简单的HTTP请求

下面通过Chrome浏览器(安装于主机VMware虚拟机上的Ubuntu操作系统上,且虚拟机的网络连接选择了NAT模式:用于共享主机的IP地址)充当客户端,将网络调试助手mNetAssist软件(安装于主机Windows10操作系统上)设置成TCP服务器来充当HTTP服务器,来观察一次简单的HTTP请求。

  • mNetAssist充当服务器
Python实现web服务器入门学习笔记(1)——HTTP协议
  • Chrome浏览器发起请求
Python实现web服务器入门学习笔记(1)——HTTP协议
  • 服务器接收到来自客户端的请求数据

GET / HTTP/1.1
Host: 192.168.0.102:7890
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

  • 服务器回复数据给浏览器
Python实现web服务器入门学习笔记(1)——HTTP协议
  • 浏览器展示服务器返回的数据
Python实现web服务器入门学习笔记(1)——HTTP协议