关于http服务java的信息

博主:adminadmin 2023-03-19 10:31:10 491

今天给各位分享http服务java的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

北大青鸟java培训:http协议请求处理过程?

随着互联网的不断发展,用户在访问互联网的时候使用的终端设备类型也在不断的变化,但是这些都是基于http协议来实现的,下面我们就简单分析一下,http发送请求的处理过程。

HTTP协议是基于TCP协议的,所以它使用面向连接的方式发送请求,通过stream二进制流的方式传给对方。

当然,到了TCP层,它会把二进制流变成一个的报文段发送给服务器。

在发送给每个报文段的时候,都需要对方有一个回应ACK,来保证报文可靠地到达了对方。

如果没有回应,那么TCP这一层会进行重新传输,直到可以到达。

同一个包有可能被传了好多次,但是HTTP这一层不需要知道这一点,因为是TCP这一层在埋头苦干。

TCP层发送每一个报文的时候,都需要加上自己的地址(即源地址)和它想要去的地方(即目标地址),将这两个信息放到IP头里面,交给IP层进行传输。

IP层需要查看目标地址和自己是否是在同一个局域网。

如果是,就发送ARP协议来请求这个目标地址对应的MAC地址,然后将源MAC和目标MAC放入MAC头,发送出去即可。

如果不在同一个局域网,就需要发送到网关,还要需要发送ARP协议,来获取网关的MAC地址,然后将源MAC和网关MAC放入MAC头,发送出去。

网关收到包发现MAC符合,取出目标IP地址,根据路由协议找到下一跳的路由器,获取下一跳路由器的MAC地址,将包发给下一跳路由器。

这样路由器一跳一跳终于到达目标的局域网。

这个时候,后一跳的路由器能够发现,目标地址就在自己的某一个出口的局域网上。

于是,在这个局域网上发送ARP,获得这个目标地址的MAC地址,将包发出去。

目标的机器发现MAC地址符合,就将包收起来;发现IP地址符合,根据IP头中协议项,知道自己上一层是TCP协议,于是解析TCP的头,里面有序列号,IT培训建议需要看一看这个序列包是不是我要的,如果是就放入缓存中然后返回一个ACK,如果不是就丢弃。

TCP头里面还有端口号,HTTP的服务器正在监听这个端口号。

于是,目标机器自然知道是HTTP服务器这个进程想要这个包,于是将包发给HTTP服务器。

HTTP服务器的进程看到,原来这个请求是要访问一个网页,于是就把这个网页发给客户端。

java怎么实现http服务器怎么解决

参数:url:目标地址data:要post的数据比如a=1b=2publicstringGetPostString(stringurl,stringdata){try{byte[]postBytes=Encoding.GetEncoding("utf-8").GetBytes(data);HttpWebRequestmyRequest=(HttpWebRequest)WebRequest.Create(url);myRequest.Method="POST";myRequest.ContentType="text/html";myRequest.ContentLength=postBytes.Length;myRequest.Proxy=null;StreamnewStream=myRequest.GetRequestStream();newStream.Write(postBytes,0,postBytes.Length);newStream.Close();//GetresponseHttpWebResponsemyResponse=(HttpWebResponse)myRequest.GetResponse();using(StreamReaderreader=newStreamReader(myResponse.GetResponseStream(),Encoding.GetEncoding("utf-8"))){stringcontent=reader.ReadToEnd();returncontent;}}catch(System.Exceptionex){returnex.Message;}}

使用Java开发一个HTTP服务器,能够处理POST,GET,PUT,DELETE请求。

使用Java开发一个HTTP服务器,能够处理POST,GET,PUT,DELETE请求。

1. 监听端口可以配置;

2. 可以配置的一个工作目录;

3. GET请求可以获得相对于该工作目录的静态文件的内容,内容格式限定为html,css,js,json,xml,txt,jpg,gif,png,ico;

a) 例如 GET /f/test1.html返回工作目录下f文件夹下test1.html内容;

b) 在GET请求的的应答中尽可能多的在HTTP头中返回些能获得的到的标准的头信息;

4. POST请求可以在工作目录中创建请求路径对应的文件,文件内容为POST请求的内容;

a) 例如 POST /f/test2.html,在工作目录下f文件夹下创建test2.html文件,并将POST内容作为test2.html的内容。

5. PUT请求可以替换对应路径的文件,修改的内容为PUT请求的内容。注意与POST不同。

a) 例如 PUT /f/test2.html,在工作目录下f文件夹替换test2.html文件的内容,并将PUT内容作为test2.html的内容。

6. DELET请求可以删除对应路径的文件。

a) 例如 PUT /f/test2.html,在工作目录下f文件夹删除test2.html文件。

7. POST,PUT,DELETE成功后返回200,出现找不到文件的情况返回404错误,出现读写文件错误返回500错误。

8. 特别的处理~路径下的GET请求,其包含2个参数,一个是类名,一个是方法名,这些方法都是些无参数并且以字符串为返回值的方法,GET请求应返回这些方法的返回值。

a) 例如 GET /~?class=com.test.Testmethod=getTIme,则调用com.test.Test类中String getTIme()方法,将返回值作为GET请求的返回;

b) 若找不到类或方法返回404错误;

c) 若出错返回500错误;

9. 特别的处理$路径下的GET请求,能够为浏览器添加cookie,key为sid,值为UUID的随机字符串。

注意:不是在tomcat之类servlet容器上开发,而是要开发个类似servlet容器的东西。

关于用Java在Tomcat上部署http服务的问题。

你用SOCKET编程需要编写两个端,一个是客户端,一个是服务端。

既然部署上TOMCAT,那么服务端的编程就变成TOMCAT上服务端的SERVLET的编程。写一个SERVLET接收请求、返回响应。你想打印什么都可以。

这个时候客户端就简单成一个表单页面(如登录页面那样),可以使用html,jsp编写。也可以直接使用URL在浏览器中进行请求。也可以仍然SOCKET发送、接收请求。

你需要简单的学习下SERVLET/JSP的WEB编程。前台的页面、后台的SERVLET是对socket编程的封装。

java 如何搭建http服务器

看你具体是想做什么,现在现成的开源的java的http服务器有很多,像tomcat之类的都有http服务器功能,如果你只是单纯的需要用的话,直接用tomcat就好了

但是如果你是做要自己用java实现一个http服务器的话就要稍微麻烦一点

http服务器,本质上还是基于tcpip协议的服务器,首先用java的ServerSocket监听一个端口(也可以使用开源的server组件,如quickserver之类的),然后对客户端发上来的数据进行处理,这里就需要了解一下http协议了,因为上来的数据,都是按照http协议来组织的,你需要将请求数据解析后,将响应数据组织成http的响应,发回给客户端。这样一个简单的http服务器就实现了。

但是这个请求和响应都有很多种类,一个完整的http服务器应该要都能够支持,所以这里面的工作量还是有一点的。

另外,上面说的http服务器只是一个静态的服务器,如果你想让你写的服务具有动态功能,那你的服务器还得提供javaee的容器功能,这样做下去,没准你也能写一个tomcat出来了……

为什么Java写的Http服务器监听80端口,有冲突时不报错。

因为 Apache 现在只使用了 192.168.x.x:80 ,而你可以使用另外的尚未使用的127.0.0.1:80. 没指定 IP 表示监听在所有可能的 IP 上,包括虚拟的 ipv6,loopback,vmware 虚拟的网卡。

http服务java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、http服务java的信息别忘了在本站进行查找喔。