java-httpclient的底层是socket么

问题描述

httpclient的底层是socket么

httpclient的底层是socket么。短链接和长链接是什么有什么区别?

解决方案

socket是java底层的通信方式.使用的协议是tcp/ip.
而httpclient是模拟(或者说使用)我们日常使用的http协议.也就是说httpclient直接使用的http协议.
而tcp/ip协议是http协议的底层实现.
也就是说http协议要转换成tcp/ip协议.
从java的角度来说,就是httpclient间接的使用了socket来通信.

短连接的意思就是,连接一段时间后无反应就自动断开,而http是request后返回数据;
长连接就是不会断开,这个就需要一个心跳机制了。

解决方案二:

是,短连接就是请求一次,就断开,每次请求都重新连接握手,http就是,长连接就是什么时候端,你确定,但是大量长连接会占用大量的网络资源,对服务器是个挑战

解决方案三:

底层肯定都是要走到TCP、IP协议的
HTTP就是长连接,会一直保持连接来交换数据,主要用途就是客户端跟服务器之间要经常一直通信
短连接就是socket发送一下数据,然后就不再反复通信了。

解决方案四:

是socket的,只要是网络通信都要走传输层TCP/UDP协议的

时间: 2025-01-30 16:39:54

java-httpclient的底层是socket么的相关文章

Java Web项目中使用Socket通信多线程、长连接的方法_java

很多时候在javaweb项目中我们需要用到Socket通信来实现功能,在web中使用Socket我们需要建立一个监听程序,在程序启动时,启动socket监听.我们的应用场景是在java项目中,需要外接如一个硬件设备,通过tcp通信,获取设备传上来的数据,并对数据做回应. 先看一下web的监听代码: import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class

有人做过java httpclient 模拟登陆outlook 获取邮件的吗

问题描述 有人做过java httpclient 模拟登陆outlook 获取邮件的吗 有人做过java httpclient 模拟登陆outlook 获取邮件的吗 解决方案 其实现在很多可以做模拟登录的httpClient,JSOUP,htmlUnit,我做过用Jsoup做模拟登录,要做两次模拟,第一次是获得Cookie,第二次带入cookie就行了,大致思想就是这样. 解决方案二: 这种程序没有意义,因为网页是不断变化的,你应该用mapi从本地outlook获取,或者用pop协议从邮箱服务器

java 通过sslengine 用普通的socket连接sslserversocket

问题描述 java 通过sslengine 用普通的socket连接sslserversocket 最近在研究ssl时,发现使用普通socket 也可以去连接sslServerSocket,但是想要通信的话 ,必须要先握手, 所以使用了sslEngine来模拟握手, 只是在 握手结束的时候出现了问题,一直无法读取到服务端的Finished 握手消息 网上看到的都是nio 使用sslEngine来 手动的握手, 不知道可不可以使用普通socket来 握手呢, 请各位赐教 解决方案 java Soc

c++-java 和C++之间用socket通信

问题描述 java 和C++之间用socket通信 我现在做的是java socket服务端,然后和c++那边通信,我不知道怎么接受c++发的数据,然后判断,经过判断再返回相应的数据,该怎么做?谢谢 解决方案 1.big-endian与little-endian Endian定义:在计算机系统体系结构中用来描述在多字节数中各个字节的存储顺序. big-endian也称高位在前.大端在前.是计算机体系结构中一种描述多字节存储顺序的术语,在这种机制中最重要字节(MSB)存放在最低端的地址 上.采用这

解决方案-python或java httpclient模拟登录,cookie获取问题

问题描述 python或java httpclient模拟登录,cookie获取问题 目前准备用python或java httpclient做一个模拟登录的程序,可是无法获取cookie, 原因是,请求登录URL时,服务器反应是分两步来进行的.流程大概如下: 1. 首先,服务器会先发过来一个.JS文件,浏览器执行其中的函数,生成cookie,貌似存到document.cookie中. 2. 然后,需要带着生成的cookie才能去访问登录URL. 因为我的程序不能像浏览器一样执行.js文件,所以也

java HttpClient 请求乱码

问题描述 java HttpClient 请求乱码 java HttpClient 4.3.6的jar包为什么我get post 请求中文乱码还有怎么请求的时候怎么带参数我这样写有什么问题没有现在的情况就是乱码 public static void get() { try { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpget = new HttpGet(""http://api.a

Java基于Tcp协议的socket编程实例_java

本文实例讲述了Java基于Tcp协议的socket编程方法,分享给大家供大家参考.具体分析如下: 以下是一对一的通信编程实现,后续会继续学习一个服务器监听多个客户端的实现. 这里用到的主要步骤如下: 第一步:以特定端口(如4800)新建socket对象 第二步:以系统输入设备构造BufferedReader对象,该对象用于接收系统键盘输入的字符 第三步:以socket对象 得到输出流来构造PrintWriter 第四步:以socket对象得到输入流来构造相应的BufferedReader对象,该

java httpclient请求返回错误xml但是不清楚什么原因

问题描述 java httpclient请求返回错误xml但是不清楚什么原因 <?xml version='1.0' encoding='UTF-8'?> S:Sender/S:Value SAXException hit: Premature end of file./S:Text/S:Reason /S:Detail/S:Fault/S:Body/S:Envelope 这是返回的xml不清楚什么问题 解决方案 你问服务器端的同事这到底是神马原因啊 解决方案二: 我觉得你问题没说全,http

java与c/c++进行socket通信的一些问题(1)

c++|问题 近几天看到csdn上问c/c++和java通信的问题比较多,特别是c特有的数据结构(如struct). 特地根据网友的一个问题举个例子,希望对初学者有所帮助. 原问题见:http://community.csdn.net/Expert/topic/3886/3886989.xml?temp=.3527033 这类问题通常是为了利用原有Server或者Server不能做修改(通常是c/c++)造成. 比如Server端只接收一个结构Employee,定义如下: struct User