开发社区
iOS 开源代码库 http://www.code4app.com/
苹果开发中文社区 http://www.cocoachina.com/
Github https://github.com
ObjC 中国 http://objccn.io/
歪果仁教程:Ray Wenderlich | Tutorials for iPhone / iOS Developers and Gamers http://www.raywenderlich.com/
开发者头条,各类技术干货 http://toutiao.io
开源项目
YY作者常用第三方库整理 http://github.ibireme.com/github/list/i
继续阅读 »
http协议的缓存头策略
以下头均指返回给浏览器的响应头!
last-modify 告诉浏览器此文件的最后修改时间,浏览器在下次访问同样文件时会带上这个修改时间,服务器在收到请求后比较,如果无变化则直接返回304告诉浏览器内容无变化,使用自己本地缓存即可,通常web服务器都会自动为静态请求返回这个头!
继续阅读 »
在 1989 年三月的一天,CERN(欧洲核子研究组织)的伯纳斯李(Tim BernerLess)博士提出一种让远隔两地的研究者们共享知识的设想。将共享的资料文档相互关联形成超文本(Hyper-Text),文档如何在网络上传输,以及到了另一端如何识别,当时有一个共识这些事情站需要站在另一个巨人 TCP/IP 肩上,形成了一项协议起名为HTTP(超文本传输协议)。
继续阅读 »
这个五一折腾了下https,看了加密的建立过程和原理,然后动手实践,把博客从不支持https的阿里云虚机上搬到了新买的腾讯云的主机上,配好了https,这里记录一下。
more
加密连接建立过程与原理
这个部分不想自己写了,参见 sf 上的这篇文章就很容易理解。
继续阅读 »
最近在工作中需要用Python做大量的数据分析,在这些数据中,很大一部分都是中文。在处理过程中,中文编码处理花了一些时间。这里做一个记录。
首先是在Python脚本内的中文编码处理,这个网络上有很多教程和解决方案了,这里不再赘述。推荐参考:
继续阅读 »
http://test.xss.tv
http://47.94.13.75/test/
test on Firefox 54.0 (64-bit)
Level1
```javascript
view-source:http://47.94.13.75/test/level1.php?name=test
欢迎用户test
直接在文本中输出用户提交的变量
http://47.94.13.75/test/level1.php?name=alert()
收获:为HTML body添加标签。
```
Level2
```javascript
view-source:http://47.94.13.75/test/level2
继续阅读 »
在做企业微信应用开发的时候,有使用第三方单点登录的需求。根据企业微信的文档,设置好登录授权发起域名和回调域名后,编写了一个Controller,用来重定向到微信的接口。但重定向后总是得到校验请求来源错误的提示信息。
之后,修改Controller,使用response返回一个标签,链接地址指向微信接口。这次,点击链接,可以成功的看到二维码,并且能够成功扫码登录。
继续阅读 »
csapp 上网络编程一章里有一个 tiny.c ,实现了 HTTP 的 GET 方法,支持 cgi 。照着书上自己敲了一个,取名 toyws 。后续准备把其他几个 HTTP METHOD 实现一下。
代码地址 [toyws][1]
根据 [RFC-2616][2]
HTTP messages 分为 request 和 response
HTTP-message = Request | Response ; HTTP/1.1 messages
继续阅读 »
实验环境
bash
操作系统:centos7.5
keepalived MASTER: 192.168.46.133
keepalived BACKUP1: 192.168.46.134
keepalived BACKUP2: 192.168.46.135
http 服务器1: 192.168.46.133
http 服务器2: 192.168.46.134
http 服务器3: 192.168.46.135
VIP: 192.168.46.100
注:keepalived 和 http 服务既可以放到同一个节点也可以放到不同的节点
继续阅读 »
Node.js代理服务器
出于信息安全的需求,很多公司对于员工电脑访问外网都会有很多特别的限制,比如某国内大型上市IT解决方案供应商,所有的员工电脑必须通过某个指定的HTTP代理服务器访问互联网资源,并且还要进行用户名密码的验证,导致很多无法设置代理服务器的软件以及仅支持socks5代理的软件都无法使用,甚至想要在调试应用的时候调用一些第三方api都需要做很多特殊设置。
比如正常的Node.js在做HTTP请求的时候,代码如下:
var http = require('http');
var opt = {
host: 'api.example.com', //要访问的服务器地址或者域名
port: 808
继续阅读 »