HTTP会话过程包括四个步骤:
连接(Connection)
请求(Request)
应答(Response)
关闭(Close)
HTTP协议是基于了TCP/IP之上的协议,它不仅保证正确传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等等。
192.168.1.1路由器设置界面的步骤方法:
进入路由器,使用之前要先进行设置,小编这里跟大家分享一下方法步骤。设置成功之后,就可以进行登录了。详细步骤请看下文,请按照步骤仔细进行相关设置。如果出现什么问题,也可以查看路由器的说明书。
192.168.1.1路由器设置
第一步:电脑和原网线之间不直接连接,而是通过另一根网线连接。
第二步:路由器设置网址,地址栏输入“192.168.1.1”进入到下面这个页面,输入用户名和密码。
第三步:用户名和密码默认都是admin.输入后进入到“下一步”,如果是宽带上网,选择“ADSL虚拟拨号”,并填写相应的用户名和密码。
第四步:选择“无线参数”---“基本设置”设置如下。
第五步:无线密码的设置,记得一定要填上密码,并记住密,以后就可以无线上网了。
192.168.1.1登陆
方法一:如果用户是通过ie浏览器来输入网址登陆路由器的话,那么可能是跟ie是否设置代理有关系了,如果将ie设置了代理的话,是会出现以上故障的,所有首先我们取消代理设置。点击“工具-internet选项-连接-局域网设置”,如图所示:
方法二:取消了代理之后然后再检查电脑上是否和LA接口(一般有4个接口,在4个借口的其中一个接口)连接号,然后查看路由器是否正常工作,指示灯是不是亮的。
方法三:当然有的用户是通过调制解调器拨号上网的。如果是这种情况就先将宽带的拨号连接删除掉。选择“从不进行拨号连接”具体 *** 作步骤:点击ie浏览器工具栏上面的“工具-internet选项”,切换到“连接”按钮,即可 *** 作如下图所示:
方法四:再查看用户的本地地址设置的ip地址是否和路由器LAN口的ip属于同一网段,如果不在同一网段的话,可以手工配置一个ip地址。如果不会设置的就设置为“自动获取ip地址”的设置即可。依次找到“本地连接”右击选择“属性”,然后双击“internet协议版本4.0”即可设置。如图所示:
方法五:通过上述的 *** 作后,进入路由器设置网址。现在在尝试在ie浏览器的地址栏上输入192.168.1.1来进入路由器的设置界面。如果还是登陆不进去的话,那么可以将路由器重新复位下,恢复的初始状态。
方法六:最后再修改路由器的管理端口,则登陆时应输入http://LAN口IP:端口号。
有的网站会在服务器运行一段时间后down掉,有很多原因可能造成这种现象:比如tomcat堆和非堆内存设置不足,程序没能释放内存空间造成内存溢出,或者某些进程一直运行没能释放,造成cup资源大量消耗。但除了程序本身的原因,还有可能是客服端访问造成(当然这个客户端也包含如蜘蛛软件等搜索引擎),如果服务器和客户端建立的是长链接(可以用”netstat -a”命令查看网络访问信息),这就需要对http响应头的connection做一定的设置。在http1.1中request和reponse header中都有可能出现一个connection头字段,此header的含义是当client和server通信时对于长链接如何进行处理。在http1.1中,client和server都是默认对方支持长链接的, 如果client使用http1.1协议,但又不希望使用长链接,则需要在header中指明connection的值为close;如果server方也不想支持长链接,则在response中也需要明确说明connection的值为close。
不论request还是response的header中包含了值为close的connection,都表明当前正在使用的tcp链接在请求处理完毕后会被断掉。以后client再进行新的请求时就必须创建新的tcp链接了。
HTTP Connection的close设置允许客户端或服务器中任何一方关闭底层的连接双方都会要求在处理请求后关闭它们的TCP连接。
如何在程序中设置:可以在过滤器中加入:response.setHeader(“connection”, “close”)
以下内容来自: HTTP Keep-Alive详解
HTTP Keep Alive
HTTP Keep-Alive 很大程序上被误解了,下面介绍一下它在HTTP/1.0和HTTP/1.1版本下是如何工作的,以及其在JAVA中的运行原理。
HTTP是一个请求<->响应模式的典型范例,即客户端向服务器发送一个请求信息,服务器来响应这个信息。在老的HTTP版本中,每个请求都将被创建一个新的客户端->服务器的连接,在这个连接上发送请求,然后接收请求。这样的模式有一个很大的优点就是,它很简单,很容易理解和编程实现;它也有一个很大的缺点就是,它效率很低,因此Keep-Alive被提出用来解决效率低的问题。
HTTP/1.0
在HTTP/1.0版本中,并没有官方的标准来规定Keep-Alive如何工作,因此实际上它是被附加到HTTP/1.0协议上,如果客户端浏览器支持Keep-Alive,那么就在HTTP请求头中添加一个字段 Connection: Keep-Alive,当服务器收到附带有Connection: Keep-Alive的请求时,它也会在响应头中添加一个同样的字段来使用Keep-Alive。这样一来,客户端和服务器之间的HTTP连接就会被保持,不会断开(超过Keep-Alive规定的时间,意外断电等情况除外),当客户端发送另外一个请求时,就使用这条已经建立的连接
HTTP/1.1
在HTTP/1.1版本中,官方规定的Keep-Alive使用标准和在HTTP/1.0版本中有些不同,默认情况下所在HTTP1.1中所有连接都被保持,除非在请求头或响应头中指明要关闭:Connection: Close ,这也就是为什么Connection: Keep-Alive字段再没有意义的原因。另外,还添加了一个新的字段Keep-Alive:,因为这个字段并没有详细描述用来做什么,可忽略它
Not reliable(不可靠)
HTTP是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive没能改变这个结果。另外,Keep-Alive也不能保证客户端和服务器之间的连接一定是活跃的,在HTTP1.1版本中也如此。唯一能保证的就是当连接被关闭时你能得到一个通知,所以不应该让程序依赖于Keep-Alive的保持连接特性,否则会有意想不到的后果
Keep-Alive和POST
在HTTP1.1细则中规定了在一个POST消息体后面不能有任何字符,还指出了对于某一个特定的浏览器可能并不遵循这个标准(比如在POST消息体的后面放置一个CRLF符)。而据我所知,大部分浏览器在POST消息体后都会自动跟一个CRLF符再发送,如何解决这个问题呢?根据上面的说明在POST请求头中禁止使用Keep-Alive,或者由服务器自动忽略这个CRLF,大部分服务器都会自动忽略,但是在未经测试之前是不可能知道一个服务器是否会这样做。
以下内容来自: http://liuzhigong.blog.163.com/blog/static/178272375201141344312315/
HTTP无状态协议和Connection:Keep-Alive容易犯的误区
名词解释:
HTTP无状态:无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系
如果你要实现一个购物车,需要借助于Cookie或Session或服务器端API(如NSAPI and ISAPI)记录这些信息,请求服务器结算页面时同时将这些信息提交到服务器
当你登录到一个网站时,你的登录状态也是由Cookie或Session来“记忆”的,因为服务器并不知道你是否登录
优点:服务器不用为每个客户端连接分配内存来记忆大量状态,也不用在客户端失去连接时去清理内存,以更高效地去处理WEB业务
缺点:客户端的每次请求都需要携带相应参数,服务器需要处理这些参数
Keep-Alive:参考另外一篇文章HTTP Keep-Alive 详解
容易犯的误区:
1、HTTP是一个无状态的面向连接的协议,无状态不代表HTTP不能保持TCP连接,更不能代表HTTP使用的是UDP协议(无连接)
2、从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接
3、Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间
以下内容来自:http://www.l99.com/EditText_view.action?textId=446020&src=
Keep-Alive简介及在Tomcat中配置
Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。市场上 的大部分Web服务器,包括iPlanet、IIS和Apache,都支持HTTP Keep-Alive。对于提供静态内容的网站来说,这个功能通常很有用。但是,对于负担较重的网站来说,这里存在另外一个问题:虽然为客户保留打开的连 接有一定的好处,但它同样影响了性能,因为在处理暂停期间,本来可以释放的资源仍旧被占用。当Web服务器和应用服务器在同一台机器上运行时,Keep-Alive功能对资源利用的影响尤其突出。 此功能为HTTP 1.1预设的功能,HTTP 1.0加上Keep-Alive header也可以提供HTTP的持续作用功能。
Keep-Alive: timeout=5, max=100
timeout:过期时间5秒(对应httpd.conf里的参数是:KeepAliveTimeout),max是最多一百次请求,强制断掉连接
就是在timeout时间内又有新的连接过来,同时max会自动减1,直到为0,强制断掉。
Tomcat中的相关设置,在server.xml 中的Connector 元素中。
keepAliveTimeout:
此时间过后连接就close了,单位是milliseconds
maxKeepAliveRequests:
最大长连接个数(1表示禁用,-1表示不限制个数,默认100个。一般设置在100~200之间).
maxKeepAliveRequests=”1″就可以避免tomcat产生大量的TIME_WAIT连接,从而从一定程度上避免tomcat假死。
<Connector executor=”tomcatThreadPool”
port=”80″ protocol=”HTTP/1.1″
connectionTimeout=”60000″
keepAliveTimeout=”15000″
maxKeepAliveRequests=”1″
redirectPort=”443″
maxHttpHeaderSize=”8192″ URIEncoding=”UTF-8″ enableLookups=”false” acceptCount=”100″ disableUploadTimeout=”true”/>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)