We will build curl from scratch by accepting the coding challenge posted on Coding Challenges FYI. Before moving ahead, you must know how TCP client-server connections work. You can read more about GeeksforGeeks. On Server Side: - Socket:- Socket object to expose our endpoints. setsockopt:- This function sets the extra options for the sockets if needed. Bind:- It binds the socket with the IP and p
Webを構成する重要な要素の1つであるHTTPは、その最新仕様で2層構造となり、バージョンに関係なく使えるSemanticsと、特徴の異なる通信仕様を定めたHTTP/1.1、2、3に分割されました。 さらに現在では、HTTPの上にあらためてUDPやIP、イーサネットなどのプロトコルを実装する提案が行われており、まさにHTTPは通信の全てを飲み込む勢いで進化しつつあります。 こうしたHTTPの最新動向の解説が、大手CDNベンダでエッジクラウドなども展開するFastlyが2023年11月8日開催したイベント「Yamagoya 2023」で同社シニアプリンシパルエンジニアの奥一穂氏が行ったセッション「HTTPが全てを飲み込む」にて行われました。 本記事ではこのセッションをダイジェストで紹介していきます。記事は以下の3つに分かれています。 HTTPが全てを飲み込む(前編)~HTTPの2層構造と、H
本日のアップデートにより Application Load Balancer(以下、ALB)でエンドツーエンドのHTTP/2がサポートされ、加えて gRPC プロトコルが利用可能になりました。 Application Load Balancers enables gRPC workloads with end to end HTTP/2 support ALB でエンドツーエンドの HTTP/2 通信が可能に 以前より ALB は HTTP/2 に対応していましたが、ALB - ターゲット間の通信は HTTP/1.1 に変換されていました。そのため、エンドツーエンドでの HTTP/2 利用できませんでした。この仕様により、HTTP/2 をトランスポートに利用する gRPC を ALB で利用することは出来ないため、NLB または CLB を利用されていたかと思います。 今回のアップデートで
Go Conference 20' Autumn SENDAI - https://www.youtube.com/watch?v=7SdxaKurDOc - How to design a good API and why it matters https://research.google/pubs/pub32713/ - gRPC の話 https://speakerdeck.com/south37/real-world-migration-from-http-to-grpc-in-ruby-number-grpcconf - https://github.com/izumin5210/hx
軽量なWebサーバのNGINXが、QUICとHTTP/3に対応するテクニカルプレビューを発表しました。 Introducing a Technology Preview of #NGINX Support for #QUIC and #HTTP3 https://t.co/BEFSH96Emy pic.twitter.com/cxHB8e4C9x — nginx web server (@nginxorg) June 10, 2020 Nginxのブログに投稿された記事「Introducing a Technology Preview of NGINX Support for QUIC and HTTP/3」から引用します。 We are pleased to announce the technology preview of QUIC+HTTP/3 for NGINX at a spe
現在標準化が進められている次世代HTTPの「HTTP/3」は、トランスポートプロトコルとして「QUIC」と呼ばれる新しいプロトコルを採用します。 現時点のHTTPはトランスポートプロトコルとして「TCP」が採用されています。その上で、可能な限り高速な通信が行えるようにさまざまな工夫や最適化が進められてきました。そしてもうこれ以上高速にしようとすると、TCPそのものを改善していくべきだろう、というところまできたのです。 それがHTTP/3で「QUIC」が採用される大きな理由といわれています。 TCPは内部で輻輳制御や再送などを自動的に行うことで通信が確実に行われることを保証してくれる便利なプロトコルですが、それゆえに、確実に通信が行われるまで待つ必要があるために通信環境によっては遅くなりがち、などの側面があります。 そこでQUICは、TCPのような通信の保証がない代わりにリアルタイム性の高い
たとえば、ブラウザから CSS ファイルを 1 年間(Cache-Control: max-age=31536000)キャッシュに保存するようサーバーに指示したものの、デザイナーが緊急の更新を作成したとします。この更新はすぐにデプロイする必要があります。キャッシュされたファイルの「古い」コピーを更新するようブラウザに通知するには、どうすればよいですか。少なくとも、リソースの URL を変更せずにはいけません。 ブラウザがレスポンスをキャッシュに保存した後、そのキャッシュ バージョンは、新鮮でなくなるまで(max-age または expires によって判別される)か、その他の理由(ユーザーがブラウザのキャッシュをクリアした場合など)でキャッシュから削除されるまで使用されます。その結果、ページが作成されたときに、ファイルのバージョンが異なるユーザーになる可能性があります。たとえば、リソースを
この記事はMERPAY TECH OPENNESS MONTHの最後の記事です。 こんにちは、メルペイのバックエンドエンジニアの@gia.nguyenです。 私は第3回のGopher道場を卒業してから2018年12月に入社しました。 他の記事にも記載されましたが、メルペイのバックエンドは、Google Kubernetes Engine(以下、GKE)を使用して、マイクロサービスアーキテクチャを採用した多数のマイクロサービスから構成されています。マイクロサービスは主にGo言語を使って、開発しています。マイクロサービス間のコミュニケーションはgRPCでやり取りしていますが、外部サービスに対してはほとんどHTTPで通信を行っています。本記事はGKE上のGoアプリケーションでHTTPリクエストを投げる際、いくつか工夫した点を紹介したいと思います。 TL;DR httptraceはデバッグに役立つ
HTTP/3のお話 IETFやGoogleは、Webの世界を発展させるためにはHTTP/HTTPSをもっと最適化させなければいけないと思っています。これは正しいです。 ただ、今考えられているHTTP over QUIC、これをHTTP/3と呼ぶ、と決まったらしいのですが。 gigazine.net インターネットのネットワークプロトコルを標準化する業界団体のInternet Engineering Task Force(IETF)が、これまで「HTTP-over-QUIC(hq)」と呼ばれていたプロトコルを「HTTP/3」という名称に変更すると発表しました。 技術的な説明は下記が詳しいです。 asnokaze.hatenablog.com asnokaze.hatenablog.com で、私なぞは基本サーバー屋だったのでネットワークのこのあたりのプロトコルスタックの話は読んでもなかなか頭
Announcing Kong Insomnia 9.3 with after-response scripting, global environments, folder-level configuration, and more. Design, debug, test, and mock APIs locally, on Git, or cloudBuild better APIs collaboratively for the most popular protocols with a dev‑friendly UI, built-in automation, and an extensible plugin ecosystem. Get Started for Free
@catatsuyです。普段はpixivの技術的な改善や広告周りを見ています。今回はHTTP/2の話を紹介します。 HTTPS化とHTTP/2について 以前紹介したようにpixivは2017/4/18にHTTPS化を完了していました。 pixivを常時HTTPS化するまでの道のり(前編) - pixiv inside pixivを常時HTTPS化するまでの道のり(後編) - pixiv inside 昨今ブラウザで使える新しい技術はHTTPSが必須要件とされることが多くなりました。その中の代表格がHTTP/2です。HTTP/2自体はHTTPSを要求していませんが、実際にはHTTPSでなければブラウザ側で有効にならないため必須です。 HTTP/2に対応するメリットは他の詳しい記事を参照して欲しいですが、ざっくり以下のメリットがあります。 HPACKという仕様でハフマン符号を使ったHTTPヘッ
デブサミ2016登壇資料。サーバ技術の評価軸、HTTP/2、サーバプッシュ、HTTPS化の負荷、Brotli、サーバ内スクリプティングを俯瞰Read less
HTTPステータスコードを返すというのはとても単純なことです。ページがレンダリングできた?よし、それなら 200 を返しましょう。ページが存在しない?それなら 404 です。他のページにユーザをリダイレクトしたい? 302 、あるいは 301 かもしれません。 I like to imagine that HTTP status codes are like CB 10 codes. "Breaker breaker, this is White Chocolate Thunder. We've got a 200 OK here." — Aaron Patterson (@tenderlove) 2015, 10月 7 訳:HTTPのステータスコードのことは、市民ラジオの10コードみたいなものだと考えるのが好きです。「ブレーカー、ブレーカー、こちらホワイト・チョコレート・サンダー。200
Webサーバのベンチマークをとるのが趣味になりつつあるmatsumotoryです。 Webサーバのベンチマークについては、abからはじまりwrk等を使っていたのですが、最近ではほぼh2loadを使っています。 h2loadはnghttp2というHTTP/2ライブラリのアプリケーションに含まれているツールですが、 HTTP/2(SPDYも)とHTTP/1.xに両対応している ベンチマーク側の同時スレッド数を増やせる TLS及びSNIもサポートしている 最小、最大、平均、標準偏差あたりもちゃんとでる ので、色々プロトコルを変えつつ同じベンチマークツールで、値の目安を出すにはとても重宝しています。 Nghttp2: HTTP/2 C Library - nghttp2.org 実行結果のサンプルは例えば以下、 $ h2load -c 100 -n 10000 https://localhost:
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く