C#:HTTP客户端与服务器的实现

HTTP协议算是使用最广泛的Web协议了,主要面向基于B/S的实现。对于很多语言比如PHP或者javascript等Web语言,HTTP协议使用上甚至比TCP协议更简单。但这协议对普通的系统语言程序员就不太友好了。C#这种语言嘛,支持上还行,但并没达到特别优秀的效果,比如发起一个POST请求至少需要十行代码以上。这个库是我基于对C#语言封装的协议的了解,在此基础上新增的一个更加方便开发的库。源码在 https://github.com/fawdlstty/hanHttpLib 查看或下载。因为可能更新频繁,所以源码我就不在文章里面贴了。
目前这个库不算特别优秀,目前只支持基础的调用,结构也非常简单,但它能力可不差,用来给小伙伴学习也是极好的。我将不定期更新它,力争将其做到完美。
先说说HTTP的客户端。HTTP客户端主要是浏览器用来请求Web服务器上的资源用的,最广泛的就是浏览器了。每个浏览器都有一套HTTP客户端实现方式,请求完成资源后在界面上显示。但随着时代的发展,HTTP协议有着基本化的趋势。因为使用HTTPS进行通讯可以使用非常小的代价就能非常安全的加密通讯数据。另外HTTP客户端也不止是做浏览器了,除此之外最大的用处是做爬虫。比如很多零散的数据分布在零散的Web服务器上,这时就可以使用爬虫技术将零散的数据归纳起来。更加厉害的就是,再结合人工智能技术,爬取数据之后使用人工智能进行分析,差不多就能成就改变世界的武器了。
继续阅读C#:HTTP客户端与服务器的实现

网站https加密访问实现

20160508201012
https加密访问有好处也有坏处,好处主要有别人无法嗅探到通讯内容,网址的绿锁图标也代表安全,坏处也有比如消耗服务器端资源,另外也无法提供适用的cdn加速,主要看个人取舍。证书主要有两种,主要面向个人用户与企业用户。个人型证书一般可以免费申领,主要效果是网址前面有绿锁图标,企业型证书需要购买,可以在网址前面显示公司名称等。
免费SSL证书可以在 沃通StarSSLLet's Encrypt 上获得,其中沃通和StarSSL是申请,Let's Encrypt是在服务器上安装指定软件,验证之后生成证书。
继续阅读网站https加密访问实现

网站服务器伪静态环境配置

伪静态是个好东西,可以用来SEO优化等,由于Wordpress+Nginx配置比较麻烦,免不了入一些坑,所以写个博文方便新晋站长们配置。
首先在Wordpress的“设置”-“固定链接”菜单中设置固定链接为自定义结构,我的是/archives/%post_id%.html这个,小站长们随意,注意Nginx配置时统一一下就阔以咯,然后分类目录前缀category,标签前缀tags,然后保存更改。
这时候你将会神奇的发现,整个网站就首页可以访问,其他都访问不了了。别慌,接下来配置Nginx。在location里面撸上如下代码:

1
2
3
4
5
6
7
8
location / {
    root   ...;
    index  index.html index.htm index.php;
    if (!-e $request_filename){
        rewrite ^/archives/(\d+)\.html$ /index.php?p=$1;
        rewrite ^/([^\.]+)$ /index.php?$1;
    }
}

root别照抄,其他根据自身环境修改。重点在于if,这关键字与括号间必须要有个空格。这几句话意思是,如果访问的文件不存在,那么,就看看是不是archives开头的,如果是就代表介个是文章,用正则将其替换为/?p=形式转发给index.php,然后剩余无法访问的伪路径直接转发给index.php,包括标签、分类目录、页面等。
配置完成后重启服务器/usr/local/nginx/sbin/nginx -s reload,然后,估计整个网站全部正常访问。这时候就代表伪静态配置成功