111
36

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【35歳未経験でも理解できた】HTTPクライアントとHTTPサーバー

111
Last updated at Posted at 2026-04-06

『HTTPクライアントとサーバーの基礎〜ncとcurlで裏側を覗いてみた〜』

この記事はこんな方におすすめです

  • Webって結局なんなの?と考え出すと止まらなくなる方
  • HTTPクライアント?サーバー?なにそれ?と思った方
  • HTTPのやり取りの中身をそのまま確認してみたい方

参考書籍:小森裕介『プロになるためのWeb技術入門』


はじめに

こんにちは!35歳から未経験でエンジニアを目指して奮闘中の者です。

最近、Webの基礎を学ぶため技術書を読んでいたのですが、
「HTTPリクエストが〜」「レスポンスを返して〜」と横文字が連発。

正直、途中から「これ日本語だっけ…?」と軽く迷子になりました。

「これは文字だけ追ってても理解できないな」と思い、
HTTPのやり取りの中身を確認するため、自分のPCで再現してみることにしました。

すると、

「あ、こういうことか」

と、少しだけ腑に落ちる瞬間があったので、
今回はその内容を自分なりに整理してまとめてみます。


HTTPクライアントとサーバーとは?(一言でいうと)

専門用語を一旦忘れて、「レストランの注文」に例えてみます。

- HTTPクライアント = 腹ペコのお客さん(「ハンバーグ定食ください!」)  
- HTTPサーバー = 厨房の料理人(「はいよ!」と料理を出す)  
- HTTP = 注文のルール(言葉や伝え方の決まり)  

つまり、

「ください」と言って「どうぞ」と返すだけ

これがWebの基本構造です。


実際にやってみた(理解が深まったポイント)

HTTPのやり取りの中身を確認するため、nccurlで通信を再現してみました。

ターミナルを2つ開いて、1人でお客さん(curl)と料理人(nc)をやる感じです。

図で理解するHTTPのやり取り

具体的な方法は「nc curl HTTP 再現」などで調べると、実際に試せる手順が出てきます。

やってみて一番理解が進んだのは

- リクエストは「ただの文章」  
- レスポンスも「ただの文章」  
- でも、その書き方(ルール)はちゃんと決まっている  

👉「ルールに従ったテキストの会話」
これがHTTPの正体だと体感できました。


35歳がハマったポイント

「空行」を忘れてフリーズ事件

本をちゃんと読まずにコマンドを打った結果、

・curlが無反応(完全フリーズ)

「え、壊れた?」と一瞬本気で焦りました。

原因は単純で、

・空行を書いていなかった

HTTPでは、

- ヘッダー  
- (空行)  
- ボディ  

というルールがあるので、ここを守らないと通信が成立しません。

さっきのコードはこうなっていました

💡 今回のミス

HTTP/1.1 200 OK
Content-Type: text/html
<h1>Hello</h1>

👉 空行(改行)がなくcurlは「まだヘッダー続くの?」と待ち続ける

✅ 正しい書き方

echo -e "HTTP/1.1 200 OK
Content-Type: text/html

<h1>Hello</h1>" | nc -l 8080

👉 改行を1行追加(=空行)するだけ

これで正常にレスポンスが返りました(涙)


まとめ

- Webの正体は「クライアントとサーバーの会話」  
- HTTPはそのための「ルール」  
- 中身はただのテキスト  
- でもルールはしっかり決まっている  

最初は「なんか難しそう…」と思っていたHTTPも、
実際に手を動かしてみると、かなりシンプルな仕組みでした。

「よくわからない」から「なんとなくわかる」になっただけでも大きな進歩です。

30代からの学習、なかなか大変ですが、
こういう小さな理解の積み重ねが一番効く気がしています。

同じように学習中の方nccurlでHTTPの正体を体感してみて下さい!

111
36
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
111
36

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?