码迷,mamicode.com
首页 > 编程语言 > 详细

python—HTTP协议

时间:2019-10-13 21:01:22      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:bms   print   height   CMF   put   html   没有   基于   eth   

什么是HTTP协议:

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网服务器与本地浏览器之间传输超文本的传送协议。

HTTP的作用:

在浏览器与服务器间传送文档。

技术图片

HTTP(Hyper Text Transfer Protocol) 超文本传输协议,是基于应用层(TCP/IP参考模型)的通信规范;是从Web服务器传输超文本

到客户端的传输协议,无状态的传输协议;不仅能够保证正确、快速、高效的传输超文本文档,而且可以确定资源加载顺序等。

在Web开发中,页面缓存控制、数据传递、文档语言参数设定等等,都离不开HTTP协议。

HTTP请求协议和响应协议:

  请求协议

请求消息由四部分组成,请求行(request line)、请求头部(header)、空行和请求数据四个部分组成

技术图片

请求方式: get与post请求

  • GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditBook?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的请求体中.

  • GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.

  • GET与POST请求在服务端获取请求数据方式不同。

  响应协议

响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

技术图片

响应状态码

状态码的职 是当客户端向服务器端发送请求时, 返回的请求 结果。借助状态码,用户可以知道服务器端是正常 理了请求,还是出 现了 。

状态码如200 OK,以3位数字和原因 成。数字中的 一位指定了响应 别,后两位无分 。响应 别有以5种。

技术图片

 

演示:

import socket


sock=socket.socket()
sock.bind(("127.0.0.1",8080))
sock.listen(5)

while 1:
    print("server waiting.....")
    conn,addr=sock.accept()
    data=conn.recv(1024)
    print("data",data)

    # 读取html文件
    with open("111.html","rb") as f:
        data=f.read()

    conn.send((b"HTTP/1.1 200 OK\r\n\r\n%s"%data))
    conn.close()

111.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>



<form action="" method="post">
    用户名 <input type="text" name="user">
    密码 <input type="password" name="pwd">
    <input type="submit">
</form>

</body>
</html>

 

python—HTTP协议

标签:bms   print   height   CMF   put   html   没有   基于   eth   

原文地址:https://www.cnblogs.com/123b/p/11668047.html

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