作为一个开发人员,掌握必要的 HTTP 协议十分重要,下面就通过本文记录自己对 HTTP 协议的理解。本文很长,希望你有耐心看完,会有很多收获的,面试的时候很受用。 首先让我们从一个问题入手,当我们在浏览器中输入 htt…
分类:HTTP
互联网协议入门(二)
上一篇文章分析了互联网的总体构思,从下至上,每一层协议的设计思想。 这是从设计者的角度看问题,今天我想切换到用户的角度,看看用户是如何从上至下,与这些协议互动的。 ============================…
Retrofit 源码详解
Retrofit的使用从很早之前就已经开始了, 但是一直没有深入研究为什么使用Retrofit只要定义一个接口, 同时在接口的方法上和方法的参数上加上一些注解就可以完成Http请求了, 也没有研究请求参数和请求结果是如何…
http 502 和 504 的区别
首先看一下概念: 502:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。 503:由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。如果能够预计…
HTTP 头部 Except 字段说明
在通过curl调用对方接口时,发现超时现象很严重,于是询问对方接口人,对方说需要加上: curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); 加上之后发现果然好使…
【新年安全第一弹】Redis CSRF 漏洞分析及防范措施
Redis CSRF漏洞分析 近日有网友暴漏了Redis的CSRF漏洞,同时Redis作者在最新发布的3.2.7也进行了修复,本文将对CSRF攻击及如何安全使用Redis进行介绍。阿里云云数据库Redis版强制需要密码访…
为什么 ES Module 的浏览器支持没有意义
早在 2015 年 7 月,ES 2015 就已正式发布,一个崭新的 Module System 也随之而来。 随后,ES Module 凭借其简洁的语法和优良的特性(以及作为规范本身的优越性),迅速成为了 JavaSc…
如何独立开发一个网络请求框架
(原创出处为本博客:http://www.cnblogs.com/linguanh/) 前言: 已开源到GitHub,希望大家能够和我一起来完善它,该类肯定有很多不足的,但总体来说,还是不错的。 为什么要写这个东…
http 缓存深入研究,200 from cache or 304 not modified?
前几天看到一篇关于缓存的文章彻底弄懂 Http 缓存机制 – 基于缓存策略三要素分解法,觉得很有意思,所以打算系统学习下Http缓存相关的知识。 我把缓存分为缓存存储、缓存对比两部分。 基本概念 命中缓存速度…
【Web 开发须知】WebSocket 开发指南
春节假期看了一下 websocket, 做了一篇笔记, 原文链接: oolap.com/websocket WebSocket 由来已久, 常用于 “服务器推&…
HttpClient 使用总结
根据业务量级决定使用同步调用或异步调用:异步回调方式的并发性非常高,缺点是代码可读性一般,在开发中,我会首先选择同步实现,在遇到性能问题后再考虑优化为异步回调方式。在Spring项目中使用HttpClient时,可以借用…
安利一个好用的 Golang 单元测试框架:gocheck
Golang下如何写单元测试?官方提供的testing package略显简陋,不过好在我们有Gocheck。 什么是好的单元测试? 在进入正题前,先来温习下前人总结的单元测试几条原则:www.atatech.org/a…