[Jweb] Servlet/jsp HTTP协议, 第一个抓取页面的程序,先启动 tomcat 得,端口号8888!

应用服务器      WEB服务器      servlet/jsp的容器 的区别?
IIS : 应用服务器 (它可以跑 EJB 的组件,后台能跑一些应用程序)
Apache : WEB服务器,Apache默认放一些静态网页。
tomcat : 严格来讲叫做 servlet,jsp 容器,(它不能跑EJB)
tomcat : 提供的web管理后台,不好用。
Host 是 Engine 的虚拟主机,一个Engine可以配置多个Host。
每个 web 可以有一个 context.xml 
http 明文,其实这时你可以用软件抓住局域网的包。可以看到别人的用户名密码。
200 ok!    403(禁止)       404(找不到)      500(服务器内部错误)
bw.write("OPTIONS / HTTP/1.1");
bw.newLine();
bw.write("Host: 127.0.0.1:80"); // 一个 IP 可以配置多个域名的。
bw.newLine();
bw.write("Content-Type: text/html");
bw.newLine();
bw.newLine();
bw.flush();
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;

public class TestHTTP {
    public static void main(String[] args) throws Exception {
        Socket s = new Socket("127.0.0.1", 8888);
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
        bw.write("GET / HTTP/1.1");
        bw.newLine();
        bw.write("Host: 127.0.0.1:8888");
        bw.newLine();
        bw.write("Content-Type: text/html");
        bw.newLine();
        bw.newLine();
        bw.flush();
        BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
        String str = null;
        while((str = br.readLine()) != null) {
            System.out.println(str);
        }
        bw.close();
        br.close();
        s.close();
    }
}

原文地址:https://www.cnblogs.com/robbychan/p/3786569.html