分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

01 Http协议

发布时间:2023-09-06 02:03责任编辑:熊小新关键词:暂无标签
Django
?

1. Http协议特性

?

1.1 基于TCP/TP

HTTP协议是基于TCP/IP协议智商的应用层协议

?

1.2 基于请求-响应模式

HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并 返回。换句话说,肯定是先从客户端开始建立通信的,服务器端在没有 接收到请求之前不会发送响应

?

1.3 无状态保存,短连接

HTTP是一种不保存状态,即无状态(stateless)协议。HTTP协议自身不对请求和响应之间的通信状态进行保存。也就是说在HTTP这个级别,协议对于发送过的请求或响应都不做持久化处理(短连接)。

?

1.4 无连接

无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。(与之对应的TCP链接)

?

2. HTTP请求协议和响应协议

HTTP协议包含:

  1. 由浏览器发送到服务器遵循的请求协议
  2. 服务器发送数据到浏览器遵循的相应协议

?

2.1 请求协议

?
2.1.1 请求格式

enter description here
?
2.1.2 请求方式:GET请求和POST请求
  1. GET请求
  • GET提交的数据会放在请求头中,即URL之后,以?分割URL和传输数据,参数之间以&相连,如 EditBook?name=test1&id=123456
  • GET提交的数据大小有限制(因为浏览器对URL长度有限制)
  1. POST请求
  • POST数据一般放在HTTP包的请求体中,但是也可以放在请求头中
  • POST提交数据没有限制
  • GET与POST请求在服务端获取数据方式不同
?

2.2 响应协议

?
2.2.1 响应格式

?
2.2.2 响应状态码

状态码是当客户端向服务器端发送请求时, 返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求,还是出现异常了。例如状态码 200 OK,由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:


?
2.2.3 示例代码
  1. 服务端.py
  1. # filename: 服务端.py
  2. import socket

  3. sock=socket.socket()
  4. sock.bind(("127.0.0.1",8808))
  5. sock.listen(5)

  6. while True:
  7. ???print("server waiting.....")
  8. ???conn,addr=sock.accept()
  9. ???data=conn.recv(1024)
  10. ???print("data",data)

  11. ???# 读取html文件
  12. ???with open("login.html","rb") as f:
  13. ???????data=f.read()

  14. ???conn.send((b"HTTP/1.1 200 OK\r\n\r\n%s"%data))
  15. ???conn.close()
  1. login.html
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. ???<meta charset="UTF-8">
  5. ???<title>Title</title>
  6. </head>
  7. <body>

  8. <form action="" method="post">
  9. ???用户名 <input type="text" name="user">
  10. ???密码 <input type="password" name="pwd">
  11. ???<input type="submit">
  12. </form>

  13. </body>
  14. </html>

01 Http协议

原文地址:https://www.cnblogs.com/sama/p/9286827.html

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved