通过Socket实现Http中Get请求

本文通过Java Socket编程详细讲解如何实现Http GET请求,强调理解网络模型中传输层与应用层协议的交互。介绍了Http协议的基本格式,指出请求头字段顺序、换行标志的重要性,并讨论了解码和性能优化等问题。通过示例代码展示了一个简单的Http客户端实现,以增进对相关技术原理的理解。
摘要由CSDN通过智能技术生成

对于网络通信这部分,一直搞不清楚网络模型中传输层协议和应用层协议是怎么进行交互的,于是想通过直接使用TCP协议实现http请求的发送,所以这里通过Socket编程来完成这项工作,在Java中还可以使用原生的HttpURLConnection或者Apache中的HttpClient完成Http请求的发送,但是这种方式已经是对Socket进行封装,对我们理解Http的原理没有帮助。

要想完成这个功能需要以下两部分技能:

  • Java网络编程的相关内容
  • Http协议的相关内容:不要求特别了解,但是基本的机制需要知道

首先把整体的代码先列出来,如下MyHttpGet

public class MyHttpGet {
   
    private String host;
    private int port;
    private String contextPath;
    private StringBuffer requestMessage;
    private Map<String, String> headers = new LinkedHashMap<>();
    private Map<String, String> params = new HashMap<>();

    public MyHttpGet(String address) throws MalformedURLException{
        URL url = new URL(address);
        this.port = url.getDefaultPort();
        this.host = url.getHost();
        this.contextPath 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值