【发布时间】:2015-10-16 14:04:08
【问题描述】:
我正在编写一个简单的 HTTP 代理服务器。我可以处理来自浏览器的 HTTP GET 请求。但是,我在处理 HTTPS GET 请求时遇到了问题。 我有一个用于解析 HTTP GET 请求的解析器,并且我知道 HTTP GET 请求的样子:
GET /Path HTTP/1.1 (\r\n)
标题(键:值)(\r\n)
....
(\r\n\r\n)
但我不知道 HTTPS GET 是什么样子,以及如何解析它。 当从浏览器触发 HTTPS 请求时,我的代理收到奇怪的字符。我确信这是因为加密。但是如何仅使用 Java 的 Socket 类来处理来自浏览器的安全请求
try ( BufferedReader inputStream =
new BufferedReader(new InputStreamReader(socket.getInputStream()));
OutputStream outputStream = socket.getOutputStream(); ) {
....
}
【问题讨论】:
-
加密是在表示层执行的,它高于您操作的传输层。