• web-3(httpd2.4)


    首部分类 

    • 通用首部
    • 请求首部
    • 响应首部
    • 实体首部
    • 扩展首部

    通用首部:请求和响应报文通用

    Connection:{close, keep-alive}

    Date:报文创建的日期时间

    Via:经由,报文传输经过的中间代理服务器;

    Cache-Control:定义缓存控制机制;

    Pragma:

    请求首部:

    Accept:可接受的MIME类型;

    Accept-language:

    Accept-encoding:接受的编码格式,deflate, gzip, ...

    Accetp-Charset:接受的字符集格式

    Client-IP:

    Host:请求的服务器的名称和端口;

    Referer:跳转至当前页面上级页面;

    User-Agent:客户端代理

    条件式请求首部:

    Expect:

    If-Modified-Since

    If-Unmodified-Since

    If-None-Match 

    If-Match

    安全请求首部:

    Authorization

    Cookie:

    Cookie2:

    响应首部:

    信息性首部:

    Age:

    Server:

    协商首部:

    Accept-Range:服务端可接受的请求类型的范围;

    Vary:其它首部列表;

    安全响应首部:

    Set-Cookie

    Set-Cookie2

    WWW-Authencate:认证质询

    实体首部:

    Content-Encoding

    Content-language

    Content-Lenth

    Content-Location

    Content-Type 

    ...

    Allow: 允许的请求方法;

    Location:资源的真正地址;

    缓存相关:

    Etag:

    Expires:

    Last-Modified:

    扩展首部:

    X-Forwarded-For:

    ...

    《http权威指南》

    url:Uniform Resource Locator 

    URL scheme:协议,http, https, ftp, ...

    服务器地址:IP:Port

    资源路径:/PATH/TO/SOME_RESOURCE 

    基本语法格式:

    1. ://:@[:]/;?#
    2. params:参数,;name=value&name=value
    3. query:查询字符串,?field=value&field=value
    4. frag:页面锚定符;#frag_id

    14、curl命令

    curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE及LDAP等协议。curl支持HTTPS认证,并且支持HTTP的POST、PUT等方法, FTP上传, kerberos认证,HTTP上传,代理服务器, cookies, 用户名/密码认证, 下载文件断点续传,上载文件断点续传, http代理服务器管道( proxy tunneling), 甚至它还支持IPv6, socks5代理服务器,,通过http代理服务器上传文件到FTP服务器等等,功能十分强大。

    curl  [options]  [URL...]

    curl的常用选项:

    1. -A/--user-agent 设置用户代理发送给服务器
    2. --basic 使用HTTP基本认证
    3. --tcp-nodelay 使用TCP_NODELAY选项
    4. -e/--referer 来源网址
    5. --cacert CA证书 (SSL)
    6. --compressed 要求返回是压缩的格式
    7. -H/--header 自定义首部信息传递给服务器
    8. -I/--head 只显示响应报文首部信息
    9. --limit-rate 设置传输速度
    10. -u/--user 设置服务器的用户和密码
    11. -0/--http1.0 使用HTTP 1.0

    用法:curl [options] [URL...]

    另一个工具:elinks

    elinks  [OPTION]... [URL]...

    -dump: 不进入交互式模式,而直接将URL的内容输出至标准输出; 

    15、使用mod_deflate模块压缩页面优化传输速度

    适用场景:

    (1) 节约带宽,额外消耗CPU;同时,可能有些较老浏览器不支持;

    (2) 压缩适于压缩的资源,例如文件文件;

    SetOutputFilter DEFLATE

    1. # Restrict compression to these MIME types
    2. AddOutputFilterByType DEFLATE text/plain 
    3. AddOutputFilterByType DEFLATE text/html
    4. AddOutputFilterByType DEFLATE application/xhtml+xml
    5. AddOutputFilterByType DEFLATE text/xml
    6. AddOutputFilterByType DEFLATE application/xml
    7. AddOutputFilterByType DEFLATE application/x-javascript
    8. AddOutputFilterByType DEFLATE text/javascript
    9. AddOutputFilterByType DEFLATE text/css
    1. # Level of compression (Highest 9 - Lowest 1)
    2. DeflateCompressionLevel 9
    1. # Netscape 4.x has some problems.
    2. BrowserMatch ^Mozilla/4  gzip-only-text/html
    1. # Netscape 4.06-4.08 have some more problems
    2. BrowserMatch  ^Mozilla/4\.0[678]  no-gzip
    1. # MSIE masquerades as Netscape, but it is fine
    2. BrowserMatch \bMSI[E]  !no-gzip !gzip-only-text/html

    16、https,  http over ssl 

    SSL会话的简化过程

    (1) 客户端发送可供选择的加密方式,并向服务器请求证书;

    (2) 服务器端发送证书以及选定的加密方式给客户端;

    (3) 客户端取得证书并进行证书验正:

    如果信任给其发证书的CA:

    (a) 验正证书来源的合法性;用CA的公钥解密证书上数字签名;

    (b) 验正证书的内容的合法性:完整性验正

    (c) 检查证书的有效期限;

    (d) 检查证书是否被吊销;

    (e) 证书中拥有者的名字,与访问的目标主机要一致;

    (4) 客户端生成临时会话密钥(对称密钥),并使用服务器端的公钥加密此数据发送给服务器,完成密钥交换;

    (5) 服务用此密钥加密用户请求的资源,响应给客户端;

    注意:SSL会话是基于IP地址创建;所以单IP的主机上,仅可以使用一个https虚拟主机;

    回顾几个术语:PKI,CA,CRL,X.509 (v1, v2, v3)

    配置httpd支持https:

    (1) 为服务器申请数字证书;

    测试:通过私建CA发证书

    (a) 创建私有CA

    (b) 在服务器创建证书签署请求

    (c) CA签证

    (2) 配置httpd支持使用ssl,及使用的证书;

    # yum -y install mod_ssl

    配置文件:/etc/httpd/conf.d/ssl.conf

    1. DocumentRoot
    2. ServerName
    3. SSLCertificateFile
    4. SSLCertificateKeyFile

    (3) 测试基于https访问相应的主机;

    openssl  s_client  [-connect host:port] [-cert filename] [-CApath directory] [-CAfile filename]

        

        

        

    17、httpd自带的应用程序

    htpasswd:basic认证基于文件实现,用于生成账号和密码的程序;

    htdbm

    htdigest

    apachectl:httpd自带的服务控制脚本,支持start和stop等子命令;

    apxs:- APache eXtenSion tool

    rotatelogs:

    ab:apache benchmark 

    webbench, httpload, ...

    loadrunner, jmeter (ASF)

    tcpcopy, 

    18、ab - web service的压力测试工具 

    命令行工具:ab, webbench, httpload, seige, ...

    GUI:loadrunner, jmeter

    tcpcopy

    ab [options]  [http[s]://]hostname[:port]/path

    请求数:-n requests 

    并发数: -c concurrency

    长连接:-k 

            

    MPM:

    prefork:进程模型,两级架构,master/worker,每worker处理一个请求;

    worker:线程模型,三级架构,maste/worker/thread, 每thread处理一个请求;workers*threads

    event:事件驱动模型,两级架构,master/worker,每进程处理多个请求;

    httpd-2.2与httpd-2.4的不同之处 

    MPM是非DSO机制,不支持LoadModule进行切换;

    切换:/etc/sysconfig/httpd

    定义HTTPD变量的值:

    1. /usr/sbin/httpd
    2. /usr/sbin/httpd.worker
    3. /usr/sbin/httpd.event

    prefork的配置:

    1. StartServers       8
    2. MinSpareServers    5
    3. MaxSpareServers   20
    4. ServerLimit      256
    5. MaxClients       256
    6. MaxRequestsPerChild  4000

    worker的配置:

    1. StartServers         4
    2. MaxClients         300
    3. MinSpareThreads     25
    4. MaxSpareThreads     75
    5. ThreadsPerChild     25
    6. MaxRequestsPerChild  0

    基于IP的访问控制机制:

    1. Order allow, deny
    2. allow from CLIENTS 
    3. deny from  CLIENTS 

    CLEINTS:

            IP,

            NETWORK

            HOSTNAME

            DOMAIN.TLD 

    虚拟主机:

    基于ServerName的虚拟主机,要使用专用指令NameVirtualHost;

    # service SysV_Init_Script start|stop|restart|status|reload

    # chkconfig SysV_Init_Script  on|off

  • 相关阅读:
    中英文说明书丨MyBioSource人瓜氨酸组蛋白 H3 ELISA试剂盒
    微服务治理:Nacos, Zookeeper, consul, etcd, Eureka等 5 个常用微服务注册工具对比
    文件格式转换
    ipad触控笔是哪几款?性价比触控笔排行榜
    跟着老杜学MyBatis+第5天+在WEB中应用MyBatis(使用MVC架构模式)
    如何看待国企纷纷卸载微软Office改用金山WPS?
    Codeforces Round 901 (Div. 2) | JorbanS
    Word添加附件(附件图标被挡住的问题)
    SSM整合(一)
    盒子模型-css
  • 原文地址:https://blog.csdn.net/ly1358152944/article/details/126366242