13. Http/TCP学习总结
小师兄.
语言学习开发路上的一个初学者。
展开
-
解决TIME_WAIT过多造成的问题
1、 time_wait的作用:TIME_WAIT状态存在的理由:1)可靠地实现TCP全双工连接的终止 在进行关闭连接四次挥手协议时,最后的ACK是由主动关闭端发出的,如果这个最终的ACK丢失,服务器将重发最终的FIN,因此客户端必须维护状态信息允许它重发最终的ACK。如果不维持这个状态信息,那么客户端将响应RST分节,服务器将此分节解释成一个错误(在java中会抛出conne...转载 2019-12-10 16:56:14 · 2293 阅读 · 0 评论 -
tcp与http keep-alive机制的区别(这个文章讲的太好了,我喜欢)
keepalive已经不是什么新鲜的概念了,HTTP协议中有keep-alive的概念,TCP协议中也有keep-alive的概念。二者的作用是不同的。本文将详细的介绍http中的keep-alive,介绍tomcat在server端是如何对keep-alive进行处理,以及jdk对http协议中keep-alive的支持。同时会详细介绍tcp中的keepalive机制以及应用层的心跳。1 H...转载 2019-07-20 15:58:09 · 1337 阅读 · 0 评论 -
webSocket学习总结
前言:WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。在这之前都是客户端主动请求服务端,一请求一应答,很多时候实现消息更新都是采用ajax轮询,有延迟,有了WebSocket双方都可以主动发给对端,实现真正的推送。1、HTTP和webSocket(1)HTTP协议有两种方式短轮询:ajax请求定时轮...原创 2019-07-18 16:43:47 · 1018 阅读 · 0 评论 -
Linux下使用tcpdump进行抓包(转)
技巧:1、可以通过tcpdump抓取某个网卡的包,然后输出日志文件,通过Wireshark进行分析。2、可以设置Wifi热点,然后通过手机连接这个热点,然后进行tcpdump的分析。而且在Ubuntu中新建Wifi热点无需额外安装软件,前提是要有无线网卡,参考:http://jingyan.baidu.com/article/ea24bc39b03fc6da62b331f0.html命...转载 2019-07-11 14:51:31 · 4213 阅读 · 0 评论 -
TCP连接出现大量TIME_WAIT的解决办法
一个TCP/IP连接断开以后,会通过TIME_WAIT的状态保留一段时间,时间过了才会释放这个端口,当端口接受的频繁请求数量过多的时候,就会产生大量的TIME_WAIT状态的连接,这些连接占着端口,会消耗大量的资源。面对这种情况 可以通过修改TCP/IP的内核参数,来及时的处理这些状态。netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) pr...转载 2019-07-05 15:15:41 · 12520 阅读 · 0 评论 -
TCP连接状态详解及TIME_WAIT过多的解决方法
TIME_WAIT状态原理----------------------------通信双方建立TCP连接后,主动关闭连接的一方就会进入TIME_WAIT状态。客户端主动关闭连接时,会发送最后一个ack后,然后会进入TIME_WAIT状态,再停留2个MSL时间(后有MSL的解释),进入CLOSED状态。下图是以客户端主动关闭连接为例,说明这一过程的。TIME_WAIT状...转载 2019-07-05 14:21:38 · 921 阅读 · 0 评论 -
ftp远程下载文件
package com.chargedot.server.util;import java.io.*;import java.net.InetSocketAddress;import java.net.SocketAddress;import java.util.ArrayList;import java.util.List;import com.chargedot.server....原创 2019-06-27 10:15:29 · 1516 阅读 · 0 评论 -
NIO远程下载文件分析
1.前言现在很多做网络通讯中间代理层的通讯都是使用Java1.4以后推出的NIO进行编写,现在还有很多开源的框架也是封装了NIO的书写细节来帮助大家简写异步非阻塞通讯服务。像MySql的代理中间件amoeba-mysql-proxy就是采用NIO的方式处理client端过来的request,之后与Mysql-Server层的通讯也是采用NIO进行命令消息发送的。再看咱们JavaEye首页介...转载 2019-06-26 20:42:34 · 1244 阅读 · 0 评论 -
HttpURLConnection GET/POST写法
public class HttpUrlConnect { //get请求 public String get(String url){ HttpURLConnection conn = null; BufferedReader rd = null ; StringBuilder sb = new StringBuilder ();...转载 2019-02-27 19:45:08 · 502 阅读 · 0 评论 -
Http常用状态码
一些常见的状态码为:200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用详细分解:1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明100 (继续) 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。2xx (成功)表示成功...转载 2018-12-24 16:24:06 · 96 阅读 · 0 评论 -
HTTP 之HTTP 消息结构/请求方法
1、HTTP 消息结构HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。一个HTTP"客户端"是一个应用程序(Web浏览器或其他任何客户端),通过连接到服务器达到向服务器发送一个或多个HTTP的请求的目的。一个HTTP"服务器"同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接收...转载 2018-11-29 14:06:06 · 577 阅读 · 0 评论 -
HTTP调用controller接口(map\json)
今天用到了调用controller接口,记录如下:HTTP依赖:<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.3</ve...原创 2018-11-21 17:47:31 · 4470 阅读 · 0 评论 -
Http学习总结(一)
http使用面向连接的TCP作为传输层协议。http本身无连接。请求报文 CRLF是回车换行 方法为GET的请求报文 方法为POST的请求报文 方法OPTIONS:这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用’*’来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。 HEAD:与GET方法一样,都...转载 2018-11-05 20:20:00 · 461 阅读 · 0 评论