星空孤星 2015-09-15 23:25 采纳率: 100%
浏览 2660
已采纳

关于java的HTTPURLConnection的使用原理

一直对于http协议的请求原理不是很明白,于是做了如下测试
用ServerSocket做了一个服务端,接收请求,并获取输入流打印,
用HTTPURLConnertion向服务端发送请求,
第一次测试时,客户端只使用了输出流,并使用了flush().然后再close,结果服务端什么都没有输出
就报错了
第二次测试,客户端,即使用了输出流,又使用了输入流,然后再close,结果服务端,正常输出了
,
于是迷茫了,到底时怎么回事啊,请问高手.

  • 写回答

4条回答 默认 最新

  • snailplus 2015-09-19 16:51
    关注

    HTTPURLConnection的原理就是HTTP通信原理。输出就是发出请求,输入就是取得响应。
    一次完整的http会话就是客户端发出请求,服务器接收请求,根据请求内容做业务处理,处理后的数据响应给客户端,客户端接收响应内容。OVER!
    以上任何一个环节出问题都会报错。并且请求与响应使用1个连接,此间如果断开会报错。
    对于第一次测试,如果关闭的只是输出流那么是正确的操作,如果关闭的是连接,那么必然报错(没有完成会话,程序就结束了,同关闭连接)
    对于第二次测试,完整会话过程。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?