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 索引 C语言
Python3从零基础到入门(2)—— 运算符-3
Python3从零基础到入门(2)—— 运算符
|
1天前
|
NoSQL 测试技术 API
Python 入门指南(七)(4)
Python 入门指南(七)
9 0
|
1天前
|
测试技术 程序员 数据库
Python 入门指南(七)(3)
Python 入门指南(七)
7 0
|
1天前
|
存储 设计模式 程序员
Python 入门指南(七)(2)
Python 入门指南(七)
9 1
|
1天前
|
XML 算法 uml
Python 入门指南(七)(1)
Python 入门指南(七)
8 0
|
1天前
|
机器学习/深度学习 存储 算法
Python 入门指南(六)(4)
Python 入门指南(六)
5 1
|
1天前
|
设计模式 存储 安全
Python 入门指南(六)(3)
Python 入门指南(六)
9 0
|
数据安全/隐私保护 Python Web App开发
|
2月前
|
前端开发
webpack如何设置devServer启动项目为https协议
webpack如何设置devServer启动项目为https协议
188 0
|
8天前
|
存储 算法 安全
[计算机网络]---Https协议
[计算机网络]---Https协议