码迷,mamicode.com
首页 > Web开发 > 详细

HTTP协议(一)

时间:2018-05-20 19:27:22      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:状态   width   规则   data   告诉   字符   版本   不同   body   

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协议(一)

标签:状态   width   规则   data   告诉   字符   版本   不同   body   

原文地址:https://www.cnblogs.com/qingchang/p/9064195.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!