Http请求头 | 手把手教你入门Python之一百一十一-阿里云开发者社区

开发者社区> 温柔的养猫人> 正文

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更为方便。

配套视频

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ajax请求后台,返回json格式数据,模板!
添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术。将返回的json格式数据,添加到select标签下。           //加载出部门的信息            function loadGroup(){                            $.
875 0
Python的内置属性 | 手把手教你入门Python之五十七
使⽤内置函数 dir 可以查看⼀个对象⽀持的所有属性和⽅法,Python中存在着很多的内置属性。
744 0
Sys模块的使用 | 手把手教你入门Python之七十四
介绍了sys.stdin,sys.stdout,sys.stderr的使用
628 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4509 0
自定义HTTP请求头被tomcat拦截
今天部署上线时,遇到一个很奇怪的问题。 我们使用自定义的HTTP请求头,但是部署到tomcat上之后,该请求头被拦截,导致程序获取不到该请求头,从而导致程序出错。 换到resin上面,一切正常。 有了解的童鞋,能不能帮忙解答一下。 万分感谢。 2015年10月21日 今天有时间看一下这个问题。 我是这么获取指定的请求头的: Enumeration&lt;?&gt; e
3711 0
self的使用 | 手把手教你入门Python之五十二
通过 self.属性名 可以访问到这个对象的属性;通过 self.方法名() 可以调用这个对象的方法。
866 0
详解字符串| 手把手教你入门Python之二十六
本节介绍字符串介绍,下标和切片
854 0
包的使用 | 手把手教你入门Python之五十
一个模块就是一个 py 文件,在 Python 里为了对模块分类管理,就需要划分不同的文件夹。多个有联系的模块可以将其放到同一个文件夹下,为了称呼方便,一般把 Python 里的一个代码文件夹称为一个包。
879 0
1172
文章
2
问答
来源圈子
更多
Python学习资料大全,包含Python编程学习、实战案例分享、开发者必知词条等内容。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载