人工智能-http协议和静态服务器

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()

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值