HTTP协议
Posted 庆长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议相关的知识,希望对你有一定的参考价值。
http协议
协议:是一种规则或者规定
tcp/ip协议:规则了tcp客户端与tcp服务器数据的通讯格式
1.知识点是什么:http协议 2.知识点有什么:规定浏览器与服务器(tcp服务器)之间的数据通讯格式 3.请求的协议格式<客户端(浏览器)发数据给服务器> GET /index.html HTTP/1.1 GET:请求的方式 /index.html:地址 HTTP/1.1:协议版本 4.响应<服务器发数据给客户端>
【tcp-服务器接收客户端请求之后发送数据】
#响应的格式 #1.响应头 #2.空行 #3.响应体 # 1.响应头 "HTTP1.1P 版本", 200 ok:这个是状态 header = "HTTP/1.1 200 OK \\r\\n" #200这个是状态 header += "Content-type:text/html;charset=utf-8 \\r\\n" #解析中文 header += "Content-Length: 5\\r\\n" #告诉浏览器显示多少个字符 # 2.响应体 body = "python10可" content = header + "\\r\\n" + body # 返回数据显示在网页上面 client.send(content.encode("utf-8")) 注:如果存在返回图片数据,则需要返回两次,先返回文字编码,再返回二进制图片数据
http中的浏览器跟服务器
1.他们使用tcp套接字实现的
http流程
响应头格式
HTTP/1.1 状态 \\r\\n
响应的格式
响应头 http/1.1 200 ok \\r\\n
content-type:text/html;charset = utf-8;\\r\\n #显示中文
Content-Length: 10749显示内容的长度
空行 \\r\\n
响应体(返回数据的内容)
请求头的作用
告诉服务器我们请求地址
#根据不同的地址返回不同的网页内容 #拿到第一行 heads = data.splitlines() #GET / HTTP/1.1:响应头原格式 heads_01 = heads[0] #得到地址 match = re.match(r\'[^/]+(/[^ ]*)\', heads_01) #用正则的group得到地址 file_name = match.group(1)
响应的作用
控制浏览器的显示
状态
200 ok 成功了
404 not found 页面不存在
302 found 跳转
304 没有权限
500 服务器挂了
以上是关于HTTP协议的主要内容,如果未能解决你的问题,请参考以下文章