当客户端使用HTTP协议连接时,服务器会收到什么?

时间:2016-11-18 19:36:51

标签: python python-2.7 http get

据我所知,如果我使用HTTP协议连接到服务器,服务器本身只接收应用程序层(计算机处理包含协议,ip等的其他层)。

考虑到这一点,我试图检查我的服务器收到的请求是否是GET请求,以及它是否在1.1版本的HTTP协议中。这是代码:

request = Client.recv(4096)

#Check if it's a valid HTTP request and get the path

isntHTTP = True
counter = 0
path = ''
for letter in range(0, len(request)-1):
    if request[letter] == ' ':
        counter += 1
    if counter == 2:
        if request[letter+1:letter+14] == 'HTTP/1.1\\r\\n':
            isntHTTP = False
        break
    if counter == 1:
        path += request[letter]
if request[:3] != 'GET' or isntHTTP:
    #send code 500 (add later)
    Client.close()
    continue

由于某种原因,此代码始终关闭客户端并继续。所有的事情都在一个循环中,所以'继续'命令不是问题。

0 个答案:

没有答案