Authorization

HTTP 401 UnauthorizedとWWW-Authenticateが返された時、ブラウザ(クライアント)側は、入力されたユーザー名とパスワードを':'で繋げて、Base64変換し、Authorizationヘッダに付けて送る。
サーバ側と一致すればアクセスできる。

HTTP 認証 - HTTP | MDN
Authorization - HTTP | MDN

http_server.cで、

OpenSSLのヘッダを追加。

ユーザー名は"testuser"、パスワードは"test123"、これを":"で繋げてBase64変換する。
これとブラウザ側のAuthorizationヘッダにあるものが一致すればHTTP 200 OKを返す。

サーバ側はdから始まる

サーバ側はdから始まる。

適当なユーザー名やパスワードだと
適当なユーザー名やパスワードだと

適当なユーザー名やパスワードだと、

ブラウザ側はaから始まってるので
ブラウザ側はaから始まってるので

ブラウザ側はaから始まってるので、

401
401

401。

正しいユーザー名とパスワードだと
正しいユーザー名とパスワードだと

正しいユーザー名とパスワードだと、

200
200

200。

bufとbasic_strが一致
bufとbasic_strが一致

bufとbasic_strが一致。

Sample/http/Authorization/Authorization/src/Authorization at master · bg1bgst333/Sample · GitHub