http header漫谈

http简介

首先推荐一本书《HTTP权威指南》,这本书详细解释了HTTP协议,包括它是如何工作的,如果想完全深入了解http,这本书是非常适合的。
以下很多内容是摘自博客,百度百科,以及自己所想,作为对http理解的一个总结。
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如”HTTP/1.1 200 OK”,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。
HTTP使用TCP而不是UDP的原因在于(打开)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。
关于TCP/IP协议的介绍如该文所介绍:
https://www.cnblogs.com/BlueT…
https://www.cnblogs.com/fengz…
关于http介绍可以看百度百科:
https://baike.baidu.com/item/…

《http header漫谈》

curl指令访问页面

在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
curl指令详解可以查看这个网站:
https://www.cnblogs.com/duhuo…
当执行curl “http://www.tmall.com/”会返回

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<h1>302 Found</h1>
<p>The requested resource resides temporarily under a different URI.</p>
<hr/>Powered by Tengine</body>
</html>

说明天猫的服务器阻止了这个非正常浏览器访问的请求,应该是需要加上cookie信息才能访问。
然后通过chrome访问tmall.com打开DevTools可以看到以下信息

《http header漫谈》

Tengine

Tengine是一家由亚洲最大的电子商务网站淘宝网发起的网络服务器。它基于Nginx HTTP服务器,具有许多高级功能。事实证明,Tengine在全球100强网站中都非常稳定和高效,包括taobao.com和tmall.com。
Tengine是改良后的Nginx服务器,有以下特性:

  • nginx-1.8.1的所有功能都是继承的,即它与nginx 100%兼容。
  • 动态模块加载支持。在向其添加新模块时,您无需重新编译Tengine。
  • HTTP / 2支持。ngx_http_v2_module取代了ngx_http_spdy_module模块。
  • 将无缓冲上载直接发送到HTTP和FastCGI后端服务器,从而节省磁盘I / O.
  • 更多负载平衡方法,例如,一致性散列和会话持久性。
  • 输入体滤波器支持。使用这种机制编写Web应用程序防火墙非常方便。
  • 动态脚本语言(Lua)支持,非常高效,可以轻松扩展核心功能。
  • 限制上游服务器的重试次数(proxy,memcached,fastcgi,scgi,uwsgi)。
  • 包括支持独立进程的机制。
  • 在系统负载或内存使用过高的情况下保护服务器。
  • 可以将多个CSS或JavaScript请求组合到一个请求中,以减少下载时间。
  • 删除不必要的空格和注释以减小页面大小。
  • 可以执行上游服务器的主动健康检查。
  • 可以自动设置工作进程数和CPU关联数。
  • limit_req模块通过白名单支持得到增强,并且在单个位置允许更多条件。
  • 增强的诊断信息可以更轻松地排除错误。
  • 更加用户友好的命令行,例如,显示所有编译模块和支持的指令。
  • 可以为某些MIME类型指定到期时间。
  • 错误页面可以重置为“默认”。

JengineD

在访问jd.com时可以看到如下返回:

《http header漫谈》

JengineD是京东自研的Nginx服务器,和Tengine异曲同工。
在申请京东服务器的时候可以选择JengineD:

《http header漫谈》

仔细研究不同网站的服务器可以看到更多有意思的服务器,比如:openresty,apache,JDWS等等

    原文作者:HTTP
    原文地址: https://segmentfault.com/a/1190000016947239
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞