目录
- 1、HTTP协议
- 1.1 网址
- 1.2 http协议的介绍
- 1.3 http请求报文
- 1.4 http响应报文
- 1.5查看http协议的通信过程
- 2、静态web服务器程序开发
- 2.1 搭建python自带的静态web服务器
- 2.2 静态web服务器-返回固定页面数据
1、HTTP协议
1.1 网址
网站又称为URL(统一资源定位符:通过网址就能找到资源),即网络资源地址
协议:双方都要遵守的某种协议
组成部分:协议部分,域名部分,资源路径部分,查询参数部分
1.2 http协议的介绍
web服务器:给浏览器提取资源的服务器
通过HTTP协议来规定浏览器和web服务器之间通讯的数据格式
HTTP协议:超文本传输协议
超文本是指在文本数据的基础上还包括非文本数据,非文本数据会使用链接的方式进行加载,所以超文本即带有链接的文本数据,即网页数据
传输HTTP协议格式的数据是基于TCP传输协议的,发送数据之前需要先建立链接。
TCP传输协议是用来保证网络中传输的数据安全性,HTTP协议是用来规定这些数据的具体格式的
HTTP协议规定的数据格式是浏览器和web服务器通信数据的格式,即浏览器和web服务器通信需要使用HTTP协议
1.3 http请求报文
两种方式:
GET方式的请求报文(获取web服务器数据)
POSE方式的请求报文(向web服务器提交数据)
GET方式:
请求行
请求头
空行
POST方式:
请求行
请求头
空行
请求体
一个HTTP请求报文可以由请求行、请求头、空行、请求体4个部分组成
请求行由三部分组成:请求方式、请求资源路径、HTTP协议版本
GET方式的请求报文没有请求体,只有请求行、请求头、空行组成
POST方式的请求报文有请求行、请求头、空行、请求体组成。可以允许没有请求体
1.4 http响应报文
响应行
响应头
空行
响应体
状态码:
一个HTTP响应报文由响应行、响应头、空行、响应体组成
响应行是由三部分组成:HTTP协议版本、状态码、状态描述,最常见的状态码是200
1.5查看http协议的通信过程
在网页上右击选择检查
2、静态web服务器程序开发
2.1 搭建python自带的静态web服务器
百度--静态服务器
新闻--动态服务器
静态web服务器是为发出请求的浏览器提供静态文档的程序,搭建python自带的静态web服务器使用 python3-m http.server端口号这个命令,端口号不指定默认是8000
2.2 静态web服务器-返回固定页面数据
开发自己的静态web服务器:
import socket
if __name__ =='__main__':
#1,编写一个TCP服务器程序
#创建socket
tcp_server_socekt = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#绑定地址
tcp_server_socket.bind(("",8080))
#设置监听
tcp_server_socekt.listen(128)
while True:
#2,获取浏览器发送的HTTP请求报文数据
#建立连接
client_socekt,client_adddr = tcp_server_socekt.accept()
#获取浏览器的请求信息
client_request_Data = client_socekt.recv(1024).decode()
print(client_request_Data)
#3,读取固定页面数据,把页面数据组装成HTTP响应报文数据发送给浏览器
with open('./index.html','rb') as f:
file_data = f.read()
#应答行
response_line = 'HTTP/1.1 200 ok\r\n'
#应答头
response_header = 'Server:pwb\r\n'
#应答体
response_body = file_data
#4,HTTP响应报文数据发送完成后,关闭服务于客户端的套接字
conn_socket.close()