Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマーク
  • テクノロジー
  • cURLは成功しGo HTTPリクエストは失敗する事象の裏にある仕様 | CyberAgent Developers Blog
  • Twitterでシェア
  • Facebookでシェア

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできますコメント表示の設定

ブックマークしました

ここにツイート内容が記載されますhttps://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

151usersがブックマークコメント17

    ガイドラインをご確認の上、良識あるコメントにご協力ください

    0/0
    入力したタグを追加

    現在プライベートモードです設定を変更する

    おすすめタグタグについて

      よく使うタグ

        cURLは成功しGo HTTPリクエストは失敗する事象の裏にある仕様 | CyberAgent Developers Blog

        ガイドラインをご確認の上、良識あるコメントにご協力ください

        0/0
        入力したタグを追加

        現在プライベートモードです設定を変更する

        おすすめタグタグについて

          よく使うタグ

            はてなブックマーク

            はてなブックマークで
            関心をシェアしよう

            みんなの興味と感想が集まることで
            新しい発見や、深堀りがもっと楽しく

            ユーザー登録

            アカウントをお持ちの方はログインページ

            記事へのコメント17

            • 注目コメント
            • 新着コメント
            azzr
            元々HTTPのヘッダフィールド名は大文字小文字を区別しないのが仕様なので、区別してしまっているサーバーのバグだね。

              その他
              snowcrush
              curlでもHTTP/1.1でエラーになったのだからGoの正規化実装は全く関係ないよ。単純にサーバーの実装ミスがたまたまcurlのHTTP/2.0実装と噛み合って動いてしまっていただけ

                その他
                mohno
                うわぁ、こういうのハマったら抜け出せないかも。/(もう分かるけど)cURLって、ついついCurlを思い出しちゃうんだよね。(公式サイトは.seと.com)

                その他
                yamuchagold
                関係ないけど、cURL使うたびに僕の頭の中の長嶋茂雄が「カール!カール!」て叫ぶのはなんとかしてほしい。

                その他
                hogetax
                プロトコルのバージョン差異は比較的早い段階で切り分け対象になりそうだけど、記事になったってことはハマったってことなんかな?

                  その他
                  JULY
                  まとめの部分で少し触れているけど、そもそも HTTP 1.1 の時は Case-insensitive で処理すべきなんだから、サーバが HTTP 1.1 を正しくハンドリングできていないのが問題。

                  その他
                  Karosu
                  HTTP/2に対応したGo言語のライブラリでもあったけ?

                    その他
                    zetamatta
                    HTTPの規格差かー

                      その他
                      JULY
                      JULYまとめの部分で少し触れているけど、そもそも HTTP 1.1 の時は Case-insensitive で処理すべきなんだから、サーバが HTTP 1.1 を正しくハンドリングできていないのが問題。

                      2025/01/20リンク

                      その他
                      napsucks
                      こんなのわかるかっ!!!

                        その他
                        rrringress
                        よく気づけたな

                          その他
                          mohno
                          mohnoうわぁ、こういうのハマったら抜け出せないかも。/(もう分かるけど)cURLって、ついついCurlを思い出しちゃうんだよね。(公式サイトは.seと.com)

                          2025/01/19リンク

                          その他
                          hogetax
                          hogetaxプロトコルのバージョン差異は比較的早い段階で切り分け対象になりそうだけど、記事になったってことはハマったってことなんかな?

                            2025/01/19リンク

                            その他
                            yamuchagold
                            yamuchagold関係ないけど、cURL使うたびに僕の頭の中の長嶋茂雄が「カール!カール!」て叫ぶのはなんとかしてほしい。

                            2025/01/19リンク

                            その他
                            FreeCatWork
                            cURLとGoがかりそめに喧嘩してるにゃ!Goがヘマしちゃって、cURLが勝ち誇ってるにゃ。猫の喧嘩よりちっちゃくてかわいいにゃ。

                              その他
                              snowcrush
                              snowcrushcurlでもHTTP/1.1でエラーになったのだからGoの正規化実装は全く関係ないよ。単純にサーバーの実装ミスがたまたまcurlのHTTP/2.0実装と噛み合って動いてしまっていただけ

                                2025/01/19リンク

                                その他
                                azzr
                                azzr元々HTTPのヘッダフィールド名は大文字小文字を区別しないのが仕様なので、区別してしまっているサーバーのバグだね。

                                  2025/01/19リンク

                                  その他
                                  soybeancucumber
                                  Goというか、Rustでも普通にある

                                    その他
                                    hatebu_admin
                                    そんなもんまずwiresharkでキャプチャするやろ。実際のパケット見ないと信用できんやで

                                      その他
                                      taku-o
                                      おー、なるほど

                                        その他
                                        uunfo
                                        ヘッダーフィールド名をヘッダーと言ったらだめでしょ。HTTPバージョン差異は実際の原因ではないというのもわからん/GoがHTTPヘッダーをMIMEヘッダーと同じ扱いにしてるのが合わなかった

                                          その他
                                          ToTheEndOfTime
                                          golangのライブラリはこういうのちょこちょこある印象

                                            その他
                                            tmatsuu
                                            Goの仕様、ちょっと気になるな。TEとかWWW-AuthenticateとかX-DNS-Prefetch-Controlとかの正規化はどうなるんだろ。

                                              その他

                                              注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

                                              リンクを埋め込む

                                              以下のコードをコピーしてサイトに埋め込むことができます

                                              プレビュー
                                              アプリのスクリーンショット
                                              いまの話題をアプリでチェック!
                                              • バナー広告なし
                                              • ミュート機能あり
                                              • ダークモード搭載
                                              アプリをダウンロード

                                              関連記事

                                                usersに達しました!

                                                さんが1番目にブックマークした記事「cURLは成功しGo HT...」が注目されています。

                                                気持ちをシェアしよう

                                                ツイートする

                                                cURLは成功しGo HTTPリクエストは失敗する事象の裏にある仕様 | CyberAgent Developers Blog

                                                こんにちは、極予測やりとりAI というプロダクトの開発責任者をしている しゅん(@MxShun)です。 ある...こんにちは、極予測やりとりAI というプロダクトの開発責任者をしている しゅん(@MxShun)です。 ある日、cURL は成功しGo HTTP リクエストは失敗する事象に遭遇しました。そのとき調査して分かった原因と仕様を共有します。 目次 事象の詳細 事象の原因 仕様1. HTTP/2 ではヘッダーは小文字のみ許容される 仕様2.Go HTTP/1.1 ではヘッダーは MIME 正規化される まとめ 事象の詳細 HTTP リクエストヘッダー X-Api-Key 値で認証するサーバと通信をしており、サーバのリアーキテクチャに伴う外部結合テスト中に当事象に遭遇しました。 まず疎通確認のためGo アプリケーションのコンテナ内からcURL でリクエストしてみたところ、200 OK が返ってきました。curl -v \ > -H 'X-Api-Key: xxx' \ > -d '...'

                                                ブックマークしたユーザー

                                                • techtech05212025/07/16techtech0521
                                                • sanko04082025/04/30sanko0408
                                                • heatman2025/02/19heatman
                                                • knj29182025/02/07knj2918
                                                • Karosu2025/01/25Karosu
                                                • t0m02025/01/21t0m0
                                                • zu22025/01/21zu2
                                                • aont2025/01/20aont
                                                • zetamatta2025/01/20zetamatta
                                                • raimon492025/01/20raimon49
                                                • tg30yen2025/01/20tg30yen
                                                • JULY2025/01/20JULY
                                                • bongkura2025/01/20bongkura
                                                • takass01192025/01/20takass0119
                                                • yug12242025/01/20yug1224
                                                • higed2025/01/20higed
                                                • king_tech2025/01/20king_tech
                                                • nishitki2025/01/20nishitki
                                                すべてのユーザーの
                                                詳細を表示します

                                                ブックマークしたすべてのユーザー

                                                同じサイトの新着

                                                同じサイトの新着をもっと読む

                                                いま人気の記事

                                                いま人気の記事をもっと読む

                                                いま人気の記事 - テクノロジー

                                                いま人気の記事 - テクノロジーをもっと読む

                                                新着記事 - テクノロジー

                                                新着記事 - テクノロジーをもっと読む

                                                同時期にブックマークされた記事

                                                いま人気の記事 - 企業メディア

                                                企業メディアをもっと読む

                                                はてなブックマーク

                                                公式Twitter

                                                はてなのサービス

                                                • App Storeからダウンロード
                                                • Google Playで手に入れよう
                                                Copyright © 2005-2025Hatena. All Rights Reserved.
                                                設定を変更しましたx

                                                [8]ページ先頭

                                                ©2009-2025 Movatter.jp