您的位置:首页 > 大数据 > 人工智能

人工智能(PythonNet)—— TCP应用之HTTP传输

2018-07-10 20:22 423 查看
版权声明:记事、留心、分享;如有侵权、违规情况等,请及时联系原创作者。 https://blog.csdn.net/qq_27297393/article/details/80991337

       

        HTTP,超文本传输协议(HyperText Transfer Protocol),属于应用层协议;主要用于网页的获取(基于网站的数据传输),信息的传递(基于http协议的数据传输)。

一、HTTP概念       

    1、HTTP的特点

            a、应用层协议,传输层使用tcp传输
            b、简单灵活,和多种语言对接方便
            c、无状态协议,不记录用户的通信内容
            d、成熟稳定 http1.1

    2、HTTP的工作模式

            * 使用http双方均遵循http协议规定发送接收消息体
            * 请求方,根据协议组织请求内容发送给对方
            * 服务方,收到内容按照协议解析
            * 服务方,将回复内容按照协议组织发送给请求方
            * 请求方,收到回复根据协议解析

    3、HTTP请求(Request)

            请求格式:
                    请求行
                    请求头
                    空行
                    请求体
            a、请求行
                    请求种类    请求内容    协议版本
                    eg:
                          GET    /    HTTP/1.1

                    请求种类:
                            GET           获取网络资源
                            POST         提交一定的附加数据,得到返回结果
                            HEAD         获取响应头
                            PUT            更新服务器资源
                            DELETE       删除服务器资源
                            CONNECT  预留
                            TRACE        测试
                            OPTIONS   获取服务器性能
            b、请求头
                    对请求内容的具体描述
                    以键值对的形式对请求信息进行描述
                    eg:
                         Accept: text/html
                         Accept-Encoding: gzip, deflate, br
                         Accept-Language: zh-CN,zh;q=0.9
                         Cache-Control: max-age=0
                         Connection: keep-alive
            c、请求体  
                   提交具体的请求参数

    4、HTTP响应(Response)   

                响应格式:
                        响应行
                        响应头
                        空行
                        响应体
            a、响应行
                    反馈具体的响应情况
                    
                    版本信息     响应码    附加信息
                    eg:
                          HTTP/1.1      200        OK

                    响应码 :
                                1xx   提示信息 表示请求已经接受
                                2xx   响应成功
                                3xx   响应需要重新请定向
                                4xx   客户端错误
                                5xx   服务器错误
                    常见响应码 :
                                200   成功
                                404   请求页面不存在
                                401   没有访问权限
                                500   服务器发生未知错误
                                503   服务器暂时无法执行
            b、响应头   
                    对响应信息的具体描述
                    eg:
                          Cache-Control: private
                          Connection: Keep-Alive
            c、响应体   
                    将客户想要的内容进行返回

二、HTTP服务器简要模型

    1、tcp应用:http传输

from socket import *

#处理请求,返回响应
def handleClient(connfd):
print("Connect from",connfd.getpeername())
request = connfd.recv(4096)

#按行进行分割
requestHeadlers = request.splitlines()
for line in requestHeadlers:
print(line)

#无论什么请求给出相同的响应
try:
f = open("./index.html")
except IOError:
response = "HTTP/1.1  404  not found\r\n"
response += '\r\n'
response += "===Sorry,The page not found==="
else:
response = "HTTP/1.1  200  OK\r\n"
response += '\r\n'
for i in f:
response += i
finally:
connfd.send(response.encode())
connfd.close()

#网络链接控制流程
def main():
sockfd = socket()
sockfd.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
sockfd.bind(('0.0.0.0', 8000))
sockfd.listen(5)
while True:
print("Listen to the port 8000.....")
connfd, addr = sockfd.accept()
#处理具体客户端请求
handleClient(connfd)

if __name__ == "__main__":
main()
        说明:

                sockfd.bind(('0.0.0.0', 8000)),可以在局域网中任何电脑访问此服务器;
                sockfd.bind(('127.0.0.1', 8000))和sockfd.bind(('localhost', 8000)),只能在本机进行访问。

    2、index.html文件

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
这是一个网页
</body>
</html>
        说明:同http服务器代码放在同一个目录下

三、附录:目录

        人工智能(PythonNet)—— 目录汇总



阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐