Java自己实现HTTP服务器来理解GET和POST区别

本文通过一个简单的Java程序演示了GET和POST请求的区别。GET请求的参数显示在URL中,而POST请求的参数位于HTTP请求的Message-Body中。通过这个例子,可以更好地理解HTTP协议中Request-Line、Header和Message-Body的结构。
摘要由CSDN通过智能技术生成

GET请求和POST请求有什么区别?GET请求的参数在URL的问号后面显示,而POST参数不在URL上;POST可以比GET请求更大的数据…一般的回答都是这样。

但是作为一个高端大气上档次的程序员,这样回答就弱爆了。

为了搞清楚GET和POST的区别,下面写了一个Java程序来接收HTTP请求。

HTTP是基于TCP协议的,所以可以使用Java最底层的Socket实现。下面的程序仅仅不到10行代码,舍去了异常处理、资源关闭的代码,所以它跟真正的HTTP服务器的差距还略遥远,这里有点标题党了。当然,不要在意这些细节。

public static void main(String[] args) throws IOException {
	// 服务器监听端口号8081
	ServerSocket serverSocket = new ServerSocket(8081);

	// 等待接收请求,这是一个阻塞的方法,当请求到来的时候才会继续向下执行
	Socket socket = serverSocket.accept();

	// 获取请求内容
	InputStream is = socket.getInputStream();
	InputStreamReader reader = new InputStreamReader(is);

	// 输出请求内容
	while (true) {
		System.out.print((char)reader.read());
	}
}

HTTP服务器写好了,下面是客户端。浏览器就是HTTP客户端,不用自己去实现了,只需要写HTML就行。


                
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值