Http请求头 | 手把手教你入门Python之一百一十一

简介: 本节介绍HTTP请求头包含哪些内容。

上一篇:简单的HTTP服务器搭建| 手把手教你入门Python之一百一十
下一篇:根据不同的请求返回不同的内容| 手把手教你入门Python之一百一十二

本文来自于千锋教育在阿里云开发者社区学习中心上线课程《Python入门2020最新大课》,主讲人姜伟。

Http请求头

上一节中主要讲了响应头,我们并没有关注请求头里到底有哪些东西,运行如下代码:

import socket

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('192.168.31.199', 8090))
server_socket.listen(128)
while True:
    client_socket, client_addr = server_socket.accept()
    data = client_socket.recv(1024).decode('utf8')
    print('接收到{}的数据{}'.format(client_addr[0], data))


    client_socket.send('HTTP/1.1 200 OK\n'.encode('utf8'))
    client_socket.send('content-type:text/html\n'.encode('utf8'))
    client_socket.send('\n'.encode('utf8'))

    client_socket.send('<h1 style="color:red">hello world</h1>'.encode('utf8'))

浏览器访问结果:

image.png

控制台输出如下:

image.png

请求头第一句 GET / HTTP/1.1 表示:

  • GET 请求方式,GET/POST/PUT/DELETE... ...
  • / 请求的路径
  • HTTP/1.1 HTTP版本号

此时我们改变访问的路径:

image.png

可以看到请求头第一句变为 GET /index.html?name=jack&age=18 HTTP/1.1,说明中间部分还可以表示请求的参数。
请求头第二句 Host: 192.168.31.199:8090 表示请求的服务器地址。
其他的信息暂时不用管了,是浏览器相关的信息,简单解释UA:用户代理,最开始设计的目的,是为了能从请求头里辨识浏览器的类型。

IP地址的绑定

ip地址只能通过ip地址访问,若将绑定的地址改为127.0.0.1,就可以在浏览器中用这个地址来访问到(或访问localhost):

image.png

前几节中我们使用到的0.0.0.0也能表示本机,它表示所有的可用的地址,如果使用127.0.0.1,则只能通过本机来访问,别人无法访问,可见如果在云服务器上部署,使用0.0.0.0更为方便。

配套视频

相关文章
|
23小时前
|
存储 算法 Python
【10月更文挑战第16天】「Mac上学Python 27」小学奥数篇13 - 动态规划入门
本篇将通过 Python 和 Cangjie 双语介绍动态规划的基本概念,并解决一个经典问题:斐波那契数列。学生将学习如何使用动态规划优化递归计算,并掌握编程中的重要算法思想。
32 3
|
3天前
|
设计模式 开发者 Python
Python编程中的设计模式:从入门到精通####
【10月更文挑战第14天】 本文旨在为Python开发者提供一个关于设计模式的全面指南,通过深入浅出的方式解析常见的设计模式,帮助读者在实际项目中灵活运用这些模式以提升代码质量和可维护性。文章首先概述了设计模式的基本概念和重要性,接着逐一介绍了几种常用的设计模式,并通过具体的Python代码示例展示了它们的实际应用。无论您是Python初学者还是经验丰富的开发者,都能从本文中获得有价值的见解和实用的技巧。 ####
|
5天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
11 1
|
5天前
|
机器学习/深度学习 人工智能 架构师
Python学习圣经:从入门到精通Python,打好 LLM大模型的基础
Python学习圣经:从0到1精通Python,打好AI基础
|
5天前
|
数据可视化 定位技术 Python
Python数据可视化--Matplotlib--入门
Python数据可视化--Matplotlib--入门
12 0
|
5天前
|
数据挖掘 索引 Python
Python数据分析篇--NumPy--入门
Python数据分析篇--NumPy--入门
16 0
|
5天前
|
IDE 开发工具 索引
Python基础知识---入门
Python基础知识---入门
5 0
|
1月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
16天前
|
安全 网络协议 算法
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
90 4
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
|
17天前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
41 4