HTTP的八种请求方法

HTTP 使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。

HTTP 请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。

HTTP1.0 定义了三种请求方法: GET , POSTHEAD 方法。
HTTP1.1 新增了五种请求方法:OPTIONS , PUT , DELETE , TRACE CONNECT 方法。
  • GET:请求指定的页面信息,并返回实体主体。
  • HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
  • POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
  • PUT:从客户端向服务器传送的数据取代指定的文档的内容。
  • DELETE:请求服务器删除指定的页面。
  • CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
  • OPTIONS:允许客户端查看服务器的性能。
  • TRACE:回显服务器收到的请求,主要用于测试或诊断。

Nginx只允许Get/Post请求,快速响应Head请求

最近网站开始有一些奇怪的请求

出于安全考虑,决定只允许Get/Post请求。

在Nginx配置文件中添加任意一个即可:

#方法一
if ($request_method !~ ^(GET|POST)$ ){
    return 403;
}

#方法二
if ($request_method !~* GET|POST) {
    return 403;
}
#快速响应Head请求
if ($request_method ~ ^(HEAD)$ ) {
    return 200 "All OK";
}

Nginx配置网站HTTPS(ssl)

下面是在Nginx配置网站HTTPS(ssl)的参数

请酌情修改使用。

注意:TLS 1.1 协议预计将2020年3月份正式“退役”,详情点击 这里
server
{
    #监听443端口、ssl、http2
    listen 443 ssl http2 ;
    
    #启用ssl
    ssl on;
    
    #证书配置
    ssl_certificate    /idzd.top.pem;
    ssl_certificate_key    /idzd.top.pem;
    
    #支持的协议
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    
    #支持的加密套件
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    
    #依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码
    ssl_prefer_server_ciphers on;
    
    #设置储存SSL会话的缓存类型和大小
    ssl_session_cache shared:SSL:10m;
    
    #客户端能够反复使用储存在缓存中的会话参数时间
    ssl_session_timeout 10m;

}

U8g2初始化(如何选择oled构造函数)

注意:U8g2不支持“无控制器”屏幕

U8g2驱动库构造函数

U8g2驱动库构造函数格式如下:

U8G2\_ 屏幕控制器型号 \_ 分辨率 \_ 显示名称 \_ 缓冲模式(1,2,F) \_ 通讯方式 u8g2( 参数 );


例如:

//SSD1306,128x64,全屏缓冲模式,模拟I2C,I2C,u8g2(旋转0度,时钟,数据,重置)
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);

你可以点击这里查看已支持的显示控制器构造函数

防止恶意解析网站

对方把自己的域名恶意解析到你网站服务器的IP上,从而达到某些目的。

其中最关键的前提就是 你的网站直接访问ip就可以显示

说白了,解决思路就是禁止ip直接访问到网站

修改配置文件就行

server {
    listen 80 default_server;
    listen 443 default_server;
    server_name _;
    #https的证书
    ssl_certificate   cert/idzd.top.pem;
    ssl_certificate_key  cert/idzd.top.key;
    #关闭日志
    access_log off;
    
    #下面这仨任选一个就行,我是返回444
    #返回403
    return 403;
    #返回444,这是Nginx自己一个响应,直接关闭连接,啥都不回应
    return 444;
    #返回301
    return 301 https://www.idzd.top$request_uri;
}