Python | Http request header

HTTP リクエストヘッダー

前のセクションでは、主にレスポンスヘッダーについて説明しました。リクエストヘッダーの内容には触れていませんでした。次のコードを実行してみましょう。

Import socket

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('192.168.31.199', 8090))
server_socket. listen(128)
while True:
client_socket, client_addr = server_socket. accept()
data = client_socket.recv(1024).decode('utf8')
print('Received {} data{}'.format(client_addr[0], data))
client_socket.send('HTTP/1.1 200 OK '.encode('utf8'))
client_socket.send('content-type: text/html '.encode('utf8'))
client_socket.send(' '.encode('utf8'))

client_socket.send('

hello world

'.encode('utf8'))
ブラウザでのアクセス結果:

コンソールの出力は次のとおりです。

リクエストヘッダーの 1 行目 `GET / HTTP/1.1` の構成は次のとおりです。

GET リクエストメソッド。GET/POST/PUT/DELETE など
/ リクエストパス
HTTP/1.1 HTTP バージョン番号
ここでアクセスパスを変更してみます。

リクエストヘッダーの 1 行目が `GET /index.html?name=jack&age=18 HTTP/1.1` に変わり、パス部分にリクエストのパラメータが含まれることがわかります。
リクエストヘッダーの 2 行目 `Host: 192.168.31.199:8090` は、リクエスト先のサーバーアドレスを示しています。
その他の情報はブラウザ関連の情報なので、ここでは詳しく触れません。UA (User Agent) について簡単に説明すると、User Agent はリクエストヘッダーからブラウザの種類を識別するために当初設計されたものです。

IP アドレスのバインド

IP アドレスを 127.0.0.1 に変更すると、そのアドレスでのみアクセスできます。ブラウザでこのアドレスまたは localhost にアクセスします。

前のセクションで使用した 0.0.0.0 もローカルマシンを表しますが、すべての利用可能なアドレスを意味します。127.0.0.1 を使用すると、ローカルマシンからのみアクセス可能で、他のマシンからはアクセスできません。クラウドサーバーにデプロイする場合は、0.0.0.0 を使用する方が便利です。

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.