温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java HTTP超文本怎样传输

发布时间:2026-09-10 23:13:55 来源:亿速云 阅读:113 作者:小樊 栏目:编程语言

在 Java 中,“HTTP 超文本(通常是 HTML 文本)的传输”本质上是通过 HTTP 协议在客户端和服务器之间收发包文 来完成的。下面从原理和常见实现方式两方面说明。


一、HTTP 传输超文本的基本原理

1. 什么是“超文本”

超文本一般指 HTML(HyperText Markup Language),在 HTTP 中通常以:

Content-Type: text/html; charset=UTF-8

的形式传输。

2. HTTP 传输流程

以浏览器访问网页为例:

客户端(浏览器 / Java Client)
        |
        |  HTTP Request (GET /index.html)
        v
     Java HTTP 服务器
        |
        |  HTTP Response
        |  Content-Type: text/html
        |  <html>...</html>
        v
客户端解析并显示 HTML

二、Java 中实现 HTTP 超文本传输的方式

方式一:Java 原生 HttpServer(简单示例)

Java 自带 com.sun.net.httpserver(JDK 自带,适合 demo)

import com.sun.net.httpserver.*;
import java.io.*;
import java.nio.charset.StandardCharsets;

public class HtmlServer {
    public static void main(String[] args) throws Exception {
        HttpServer server = HttpServer.create(new java.net.InetSocketAddress(8080), 0);
        server.createContext("/", exchange -> {
            String html = "<html><body><h1>Hello HTTP</h1></body></html>";

            byte[] bytes = html.getBytes(StandardCharsets.UTF_8);
            exchange.getResponseHeaders().add("Content-Type", "text/html; charset=UTF-8");
            exchange.sendResponseHeaders(200, bytes.length);

            try (OutputStream os = exchange.getResponseBody()) {
                os.write(bytes);
            }
        });
        server.start();
    }
}

访问:

http://localhost:8080

方式二:Servlet(最常用,企业级)

使用 Tomcat + Servlet

@WebServlet("/page")
public class HtmlServlet extends HttpServlet {
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws IOException {
        resp.setContentType("text/html;charset=UTF-8");
        PrintWriter out = resp.getWriter();
        out.println("<html><body><h1>Hello Servlet</h1></body></html>");
    }
}

方式三:Spring Boot(现代主流)

@RestController
public class HtmlController {

    @GetMapping(value = "/html", produces = "text/html")
    public String html() {
        return "<html><body><h1>Hello Spring</h1></body></html>";
    }
}

方式四:Java 作为 HTTP 客户端接收超文本

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("http://localhost:8080"))
        .build();

HttpResponse<String> response =
        client.send(request, HttpResponse.BodyHandlers.ofString());

System.out.println(response.body()); // HTML 文本

三、关键点总结

✅ 超文本传输 = HTTP + text/html
✅ Java 通过 OutputStream 或 Writer 发送 HTML
✅ 必须设置:

Content-Type: text/html

✅ 字符编码建议:UTF-8


如果你是想问:

  • Java 怎么写 HTTP 服务器
  • HTML 是怎么被浏览器解析的
  • HTTP 报文结构
  • 文件(如 .html)如何传输

可以告诉我具体场景,我可以进一步展开。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手