- 浏览: 25926 次
- 性别:
- 来自: 成都
文章列表
前端时间,读了《http 权威指南》后,对自己掌握的技能和理论去实现一个简单的http client,心里有点摇摇欲试。大概用了几个小时,就用java写了个简单的http client实现。
目前对http get方法,post方法测试了,没啥问题(也支持http 其它方法)。对http response 报文的解析支持两种,一种是conten-length固定长度 body实体解析,一种是Transfer-Encoding body实体长度可变的解析。
Github 地址:https://github.com/jackliujithub/java-httpc ...
搞web的程序猿,应该都知道http协议。http协议有三个版本。http 0.9版本,http 1.0版本,和现在一直在使用的http 1.1版本。RFC 2616 是http 1.1 版本的官方规范文档。另外《http 权威指南》也对http协议进行了很好的阐述。
http 协议 ...
[置顶] java 中精度受损的一种转换计算方式
- 博客分类:
- 基础
背景:
大家都知道,低精度的数字转换为高精度的数字是没有问题的,但是高精度的数字转换低精度的数字会精度受损。那精度是怎样受损的?转换的逻辑是怎样的了?以下为个人的猜想。 先上代码,1个short类型的数字,转换为byte类型的数字
@Test
public void LongToInt(){
short c = 428;
byte e = (byte)c;
System.out.println("c to e :" +e);
}
分析:
...
背景:
对于编码解码的计算过程一直没有去研究过。以前也看了大神写的编码解码的文章,当时看了似懂非懂,没有仔细去品味,没去实践。正应了那句老话:纸上得来终觉浅,绝知此事要躬行。
为什么有编码和解码?二什么时候会出现编码和解码?编码解码的算法是怎样的?
推荐两篇文章
http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/
http://blog.csdn.net/baixiaoshi/artic ...
SSL和TLS 相关知识(转)
- 博客分类:
- 安全
1 、SSL/TLS协议运行机制的概述
2、图解SSL/TLS协议
3、RSA算法原理(一)
4、RSA算法原理(二)
5、使用wireshark观察SSL/TLS握手过程--双向认证/单向认证
6、SSL/TLS 的RFC 5246
一种多租户系统架构
背景:
去年的时候,因为某些特殊原因,有幸带了一个组,参与了B2B平台的开发。说是B2B平台,因为这套程序开发完了后,可以拿给多个客户使用。客户可以搭建一套具有京 ...
登录业务中存在的安全问题
- 博客分类:
- 业务
背景: 在互联网网站中,用户注册,登录几乎是每个网站的标配功能。在一般人看来一个小小的登录业务表面上看起来很简单 ,大概过程是这样的:用户在前台页面输入用户名和密码,然后后台web服务器拿到用户输 ...
jvm之classLoader 初探
- 博客分类:
- jvm
jvm之classLoader
背景:
classLoader:类加载器。大家平时在开发工具编写的代码会保存为.java文件,然后使用工具(javac命令等)把.java文件编译为.class文件。classLoder是专门查找,加载和解析.class文件。
在JVM中有三种classLoader,这三种ClassLoader都是有层级关系,并且三种ClassLoader加载.class和文件目录是有分工的
JVM 大概体系
JVM大概体系(从csdn上找的一幅图)
从上图可以看出,JVM由四大块组成:ClassLoader类加载器,jvm内存区,执行引擎,本地方法栈
1、ClassLoader:类加载器,主要负责查找,加载,解析 .class文件到jvm内存区,以供jvm执行引擎执行加载的字节码。
http1.1是1999年提出的,到现在已经历16年的风风雨雨,而且未来很长一段时间内,http1.1可能会继续是主流。随着业务和技术的发展,http 1.1 可以进行优化-------http2。
http 2个人感觉并不是为了取代现在的http1.1,而是http 1.1的一种优化。这可以从http2中的某些特点中看出
1、提倡或者只能在https上使用(从安全的角度出发)
2、支持http header的压缩(http1.1不支持header的压缩)
3、多路复用请求
...
大家都知道,在浏览器里输入一个web网址,浏览器会发送一个http请求,请求远方服务器上的资源。浏览器发送的http包信息会经过多个路由器或者交换机才能到达远方服务器。在网络传输的过程中,如果有黑客入侵到路由器或者交换机(比如家里的路由器被黑),估计经过这些路由器的网络数据,很容易就被网络抓包(特别是抓出http 头部的信息里的cookie信息,然后把cookie信息在写入自己的浏览器冒充受害者,后果就不说了……)
关于怎样用java进行加解密,推荐学习梁栋的《Java加密与解密的艺术》
https,可以理解为socket+SSL+http(https是在SSL上的ht ...
这篇文章是上篇文章的继续 “读《http 权威指南后》,写的一个只有18K 大小的httpClient”,化了几天业余时间,大概实现了http 以下功能
1、异步调用和回调
2、多个http的并行调用
3、https(同步异步都支持)
github地址:https://github.com/jackliujithub/java-httpclient-18k
使用示例:https://github.com/jackliujithub/java-httpclient-18k ...
今天合并主干后,发现在我提交主干前,已有同事提交代码到了主干,当时也没有多想。直接就上线了。上线完一验证,列表页出不来,其他页面也在报网络异常,赶紧回滚。分析线上错误日志,发现dubbo的线程池用 ...
公司内部平台二期开发完了,已经进入了维护期,可是规划的功能还有一些没有做,而且开发完的东西,拿到业务部门中去用时,肯定业务部门会提很多需求和bug。 为了在后续发补丁包时,不把新功能加上,弄了一个维护分支和一个开发分支。维护分支主要是对于业务部门提出的需求和bug进行修改,而新功能的增加是在开发分支上弄。弄了两个分支后,矛盾就出来了。假设一个接口或者实现类,为了增加新功能,而修改了代码;然后了,维护分支里也对该接口或者类做了修改。最后维护分支和开发分支合并,同步代码时,那程序员不是累死了。少的几十行代码,多的上百行代码,而且极有可能会出现功能倒退。我们发补丁包的一个重要原因就是为了 ...