服务器端

session url重写技术

怎甘沉沦 提交于 2020-03-05 16:25:57
服务器端获取Session对象依赖于客户端携带的Cookie中的JSESSIONID数据。如果用户把浏览器的隐私级别调到最高,这时浏览器是不会接受Cookie、这样导致永远在服务器端都拿不到的JSESSIONID信息。这样就导致服务器端的Session使用不了。 Java针对Cookie禁用,给出了解决方案,依然可以保证JSESSIONID的传输。 Java中给出了再所有的路径的后面拼接JSESSIONID信息。 1 在 Session1Servlet中,使用response.encodeURL(url) 对超链接路径拼接 session的唯一标识 [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 @WebServlet ( "/sessionDemo5" ) public class SessionDemo5 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession();

Socke---转

社会主义新天地 提交于 2020-03-05 02:40:54
Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一。如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的。本文会介绍一下基于TCP/IP的Socket编程,并且如何写一个客户端/服务器程序。 餐前甜点 Unix的输入输出(IO)系统遵循Open-Read-Write-Close这样的操作范本。当一个用户进程进行IO操作之前,它需要调用Open来指定并获取待操作文件或设备读取或写入的权限。一旦IO操作对象被打开,那么这个用户进程可以对这个对象进行一次或多次的读取或写入操作。Read操作用来从IO操作对象读取数据,并将数据传递给用户进程。Write操作用来将用户进程中的数据传递(写入)到IO操作对象。 当所有的Read和Write操作结束之后,用户进程需要调用Close来通知系统其完成对IO对象的使用。 在Unix开始支持进程间通信(InterProcess Communication,简称IPC)时,IPC的接口就设计得类似文件IO操作接口。在Unix中,一个进程会有一套可以进行读取写入的IO描述符。IO描述符可以是文件,设备或者是通信通道(socket套接字)。一个文件描述符由三部分组成:创建(打开socket),读取写入数据(接受和发送到socket)还有销毁(关闭socket)。 在Unix系统中

前端知识点总结之cookie和session完全总结

帅比萌擦擦* 提交于 2020-03-04 10:23:01
cookie机制 123 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。网络服务器用HTTP头向客户端发送cookies,在客户终端,浏览器解析这些cookies并将它们保存为一个本地文件,它会自动将同一服务器的任何请求缚上这些cookies 。 12 具体来说cookie机制采用的是在客户端保持状态的方案。它是在用户端的会话状态的存贮机制,他需要用户打开客户端的cookie支持。cookie的作用就是为了解决HTTP协议无状态的缺陷所作的努力。 1234 正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie。然而纯粹的客户端脚本如JavaScript也可以生成cookie。而cookie的使用是由浏览器按照一定的原则在后台自动发送给服务器的。浏览器检查所有存储的cookie,如果某个cookie所声明的作用范围大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器。 12345 cookie的内容主要包括:名字,值,过期时间,路径和域。路径与域一起构成cookie的作用范围。若不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失

TCP/IP的网络客户端和服务器端程序

[亡魂溺海] 提交于 2020-03-03 07:22:41
服务器端的过程可以分为以下几个步骤: (1) 初始化套接字的版本信息WSAStartup (2)创建套接字 ,需要两个套接字及客户端和服务器端的套接字 (3)绑定服务器(bind),该函数用于绑定服务器套接字 (4)监听服务器(listen),该函数 用于监听服务器 (5)接收客户端请求(accept) 返回值为客户端的套接字,参数为服务器套接字 (6)接收客户端数据(recv) (7)关闭套接字 客户端的过程分为以下几个步骤: (1) 初始化套接字的版本信息WSAStartup (2) 创建套接字( socket)用于连接服务器端 (3) 与服务器进行连接Connect (4) 设置循环状态,进行接收和发送(recv和send) (5) 关闭套接字(closesocket) 来源: https://www.cnblogs.com/gyc19920704/p/5429717.html

ServerSocket 与 Socket的区别

▼魔方 西西 提交于 2020-03-03 03:47:14
1.1 ServerSocket类 创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如: ServerSocket MyListener=new ServerSocket(600); 这里指定提供监听服务的端口是600,一台计算机可以同时提供多个服务,这些不同的服务之间通过端口号来区别,不同的端口号上提供不同的服务。为了随时监听可能的Client请求,执行如下的语句: Socket LinkSocket=MyListener.accept(); 该语句调用了ServerSocket对象的accept()方法,这个方法的执行将使Server端的程序处于等待状态,程序将一直阻塞直到捕捉到一个来自Client端的请求,并返回一个用于与该Client通信的Socket对象Link-Socket。此后Server程序只要向这个Socket对象读写数据,就可以实现向远端的Client读写数据。结束监听时,关闭ServerSocket对象: Mylistener.close(); 1.2 Socket类 当Client程序需要从Server端获取信息及其他服务时,应创建一个Socket对象: Socket MySocket=new Socket(“ServerComputerName”,600); Socket类的构造函数有两个参数

DDL语句造成Postgres PreparStatement报错

帅比萌擦擦* 提交于 2020-03-02 18:49:03
参考文档 https://jdbc.postgresql.org/documentation/head/server-prepare.html https://jdbc.postgresql.org/documentation/head/connect.html#autosave 连接相关设置 prepareThreshold(int):指定在一个会话中需要经过多少次PreparedStatement才对其进行服务器端PreparedStatement缓存,值为0表示禁用服务器端PreparedStatement缓存 preparedStatementCacheQueries(int):指定一个会话中最大缓存的PreparedStatement数量,默认值256,0表示禁用服务器端PreparedStatement缓存 preparedStatementCacheSizeMiB(int):最大缓存的PreparedStatement大小,默认为5M,0表示禁用服务器端PreparedStatement缓存 autosave(String):JDBC驱动42版本新增,设置当查询失败后如何处理 never: 默认值,不执行额外处理操作,直接抛出异常 always:每次查询前都会设置savepoint,如果出现错误则回滚到该检查点,并重新尝试执行 conservative

https原理通俗了解

我与影子孤独终老i 提交于 2020-03-02 09:06:19
摘要:本文尝试一步步 还原 HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计过程。在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”过程。 我们先不了聊HTTP,HTTPS,我们先从一个聊天软件说起,我们要实现A能发一个hello消息给B: 如果我们要实现这个聊天软件,本文只考虑安全性问题,要实现 A发给B的hello消息包,即使被中间人拦截到了,也无法得知消息的内容 如何做到真正的安全? 这个问题,很多人马上就想到了各种加密算法,什么对称加密、非对称加密、DES、RSA、XX、噼里啪啦~ 而我想说,加密算法只是 解决方案 ,我们首先要做的是理解我们的 问题域 —— 什么是安全? 我个人的理解是: A与B通信的内容,有且只有A和B有能力看到通信的真正内容 好,问题域已经定义好了(现实中当然不止这一种定义)。对于解决方案,很容易就想到了对消息进行加密。 题外话,但是只有这一种方法吗?我看未必,说不定在将来会出现一种物质打破当前世界的通信假设,实现真正意义上的保密。 对于A与B这样的简单通信模型,我们很容易做出选择: 这就是 对称加密算法 ,其中图中的 密钥S 同时扮演加密和解密的角色。具体细节不是本文范畴。 只要这个密钥S不公开给第三者,同时密钥S足够安全,我们就解决了我们一开始所定问题域了

安卓平台下的即时通讯 .

拈花ヽ惹草 提交于 2020-03-02 05:15:03
摘要: 论文简单介绍Android 平台的特性,主要阐述了基于Android 平台简易即时通讯(IM)的 作用和功能以及实现方法,复杂的通讯如引入视频音频等可以考虑AnyChat SDK。 关键词: Android 平台;即时通讯 SDK包下载 http://download.csdn.net/detail/xujinquan19/4512304 (本文中图表点击附件即可见) 1 Android 平台简介 Android 是Google 公司于2007年11月5日推出的手机操作系统 ,经过2年多的发展,Android平台在智能移动领域占有不小的份额,由Google为首的40 多家移动通信领域的领军企业组成开放手机联盟(OHA)。Google 与运营商、设备制造商、开发商和其他第三方结成深层次的合作伙伴关系,希望通过建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。正因如此,Android 正在被越来越多的开发者和使用者所接受。近日,Google 发言人Anthony House称, 截止到2010 年4 月15 日,Android Market 已经有3.8 万多个应用程序。 2 Android 平台特性与即时通讯的研究   Android 平台框架共由5 部分组成。底层核心是基于 Linux 2.6内核 开发的独立操作系统,该层用来提供系统的底层服务

ASP.NET页面传值之Server.Transfer

两盒软妹~` 提交于 2020-03-02 01:38:49
http://blog.csdn.net/bdstjk 说起来有点惭愧,做了这么久的.NET,今天才真正搞明白 Server.Transfer 先来看看代码: B.aspx public string TextBox1Text { get { return TextBox1.Text; } } protected void Button1_Click(object sender, EventArgs e) { Server.Transfer("A.aspx"); } A.ASPX protected void Page_Load(object sender, EventArgs e) { B b = Context.Handler as B;//获取到B页面的引用 if (b != null) { Response.Write("人家是A.aspx哦!<br/>"); Response.Write("你在B页面输入的是:"+b.TextBox1Text); } else { Response.Write("你跑过来干嘛!<br/>"); } } 这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。 Server

  第 2章 简单的HTTP协议

断了今生、忘了曾经 提交于 2020-03-01 14:12:54
2.1 协议用于客户端和服务器端之间的通信 2.1 TTP 协议规定,请求从客户端发出,最后服务器端响应该请求并返回。换句话说,肯定是先从客户端开始 建立通信的,服务器端在没有接收到请求之前不会发送响应。 2.2 请求报文 和响应报文 下面则是从客户端发送给某个 HTTP 服务器端的请求报文中的内容 GET /index.htm HTTP/1.1 Host: hackr.jp 请求报文是由请求方法、请求 URI、协议版本、可选的请求首部字段和内容实体构成的。 响应报文基本上由协议版本、状态码(表示请求成功或失败的数字代码)、用以解释状态码的原因短语、可 选的响应 首部字段以及实体主体构成。 HTTP/1.1 200 OK Date: Tue, 10 Jul 2012 06:50:15 GMT Content-Length: 362 Content-Type: text/html <html> ...... 在起始行开头的 HTTP/1.1 表示服务器对应的 HTTP 版本。 紧挨着的 200 OK 表示请求的处理结果的状态码(status code)和原因短语(reason-phrase)。下一行显 示了创建响应的日期时间,是首部字段(header field)内的一个属性。 接着以一空行分隔,之后的内容称为资源实体的主体(entity body)。 2.5 告知服务器意图的