• 《图解HTTP》读书笔记


    一、第一章 了解Web及网络基础

      1.HTTP历史:

        1)HTTP/0.9:HTTP于1990问世,当时标准未被正式建立,所以HTTP/1.0之前的版本,统称为HTTP/0.9

        2)HTTP/1.0:1996年5月公布,记录于RFC1945,沿用至今

        3)HTTP/1.1:1997年1月公布,记录于RFC2616,目前主流版本

        4)HTTP/2.0:正在制定中

        ps.RFC(Request for Comments),征求修改意见,制定HTTP协议技术标准的文档,不含Cooike

      2.TCP/IP协议族:互联网连接协议(protocol),子集有:HTTP、TCP、IP、FTP、PPPoE、FTP等

      3.TCP/IP四层模型:

        1)应用层:FTP、DNS、HTTP

        2)传输层:TCP、UDP

        3)网络层:IP

        4)链路层:操作系统、硬件驱动、网卡、光纤、硬件部分

        PS.经过每层时会打上该层的首部信息,接收时去除

      4.ARP协议:HTTP在网络传输时,通过ARP协议就可以解析目标地址,但是过程无法全面掌握,通过路由选择。

      5.三次握手:发送SYN的flag->收到请求后回传一个带有SYN/ACK的flag->最后回传一个带有ACK的flag

      6.URL是URI的子集,URI包含:Uniform(如http:或ftp:)、Resource(可标示的任何东西)、Identifier(标识符)

    二、简单的HTTP协议

      1.HTTP中可以使用的方法:GET、POST、PUT、HEAD、DELETE、OPTIONS、TRACE、CONNECT

      2.持久连接:HTTP/1.1中,所有的连接默认都是持久连接

      3.使用Cooike的状态管理

    三、HTTP报文内的HTTP信息

      1.HTTP报文本身是由多行(用CR+LF作换行符 )

      2.HTTP首部内容:请求行、状态行、首部字段、其它

      3.报文的内容编码格式有:gzip(GUN zip)、compress(UNIX系统的标准压缩)、deflate(zlib)、identity(不进行编码)

      4.分割发送的分块传输编码:用于把实体主体分成多块发送,可以在通信时使用某种传输编码(Transfer Coding)

      5.多部分对象集合(Multipart):Content-Type:multipart/form-data[multipart/form-byteranges],使用boundarg字符串来划分每个部分(参见P47、P48)

      6.获取部分内容的范围请求:Range:bytes=5001-10000,响应返回206 Partical Content的响应报文

      7.内容协商Content Negotiation:Accept、Accept-Charset、Accept-Encoding、Accept-Language、Content-Language

    四、返回结果的HTTP状态码

      1.类型简介:

        1XX:信息性状态码,接受的请求正在处理

        2XX:成功状态码

          204:No Content,请求处理成功,但是没有资源可返回

          206:Partial Content,客户端进行范围请求,服务器成功执行了这部分的GET请求

        3XX:重定向状态码

          301:Move Permanently:URL已更新(永久性的),需要进行书签引用的变更

          302:Found,和301类似,但是是临时性的,不需要对书签进行更新

          303:See Other,使用GET方法重定向到新的URL上。即使是POST方法访问,也只使用GET方法来做重定向,是和302方法的区别

          304:Not Modified,发送附带条件的请求时,如果发生服务器未满足条件的情况,则返回此状态

          307:Temporary Redirect:和302类似,但是不会从POST变成GET

        4XX:客户端错误状态码,服务器端无法处理请求

          400:报文存在语法错误,服务器无法理解。浏览器会像对待200 OK一样对待该状态码

          401:Unauthorized,需要认证

          403:Forbidden,不允许访问资源,可以在返回主体里描述原因

          404:Not Found,服务器资源未找到,也可以在服务器拒绝请求且不想说明原因时使用

        5XX:服务器错误状态码,服务器处理请求出错

          500: Internal Server Error:服务器在执行请求时出错了

          503:Service  Unavailable:服务器超负荷或者在进行停机维护

    五、与HTTP协作的WEB服务器

      1.通信数据转发程序:

        1)代理:缓存代理、透明代理(非透明代理)

        2)网关:和代理类似,但是可以提供非HTTP协议服务器,如连接数据库、信用卡结算系统等

        3)隧道:按要求建立一条与其他服务器的通信线路,使用SSL等加密手段

    六、HTTP首部

      1.HTTP首部字段类型:(书中有详细说明)

        1)通用首部字段

        2)请求首部字段

        3)响应首部字段

        4)实体首部字段

        5)非HTTP/1.1首部字段:不在RFC2616中,而是在RFC4229中的47种首部字段,包括Cookie等

    七、确保Web安全的HTTPS

      1.HTTPS=HTTP+加密+认证+完整性保护

    八、确认访问用户身份的认证

      1.HTTP使用的认证方式:

        1)BASIC认证(基本认证)

        2)DIGEST认证(摘要认证)

        3)SSL客户端认证

        4)FormBase认证(基于表单认证)

      2.通常,一种安全的保存密码的方式是,先给密码加盐,再使用散列(hash)函数计算出散列值后保存

    九、基于HTTP的功能追加协议

      1.为了消除HTTP的瓶颈,出现的解决方案:Ajax、Comet、SPDY(开发中)、WebSocket(HTML5)、HTTP/2.0(制定中)

      2.WebDAV:是一个可对Web服务器上的内容直接进行文件复制、编辑等操作的分布式文件系统。它作为HTTP/1.1的协议定义在RFC4918中

    十、构建Web内容的技术(略)

    十一、Web的攻击技术

      1.因输出值转义不完全引发的安全漏洞:

        1)跨站脚本攻击(XSS)

        2)SQL注入攻击

        3)OS命令注入攻击

        4)HTTP首部注入攻击

        5)邮件首部注入攻击

        6)目录遍历攻击

        7)远程文件包含漏洞

      2.因设置或设计上的缺陷引发的安全漏洞

        1)强制浏览

        2)不正确的错误信息处理

        3)开放重定向

      3.因会发管理疏忽引发的安全漏洞

        1)会话劫持

        2) 会话固定攻击  

        3)跨站点请求伪造(CSRF)

      4.其它安全漏洞

        1)密码破解

        2)点击劫持

        3)DoS攻击

        4)后门程序

        

        

          

  • 相关阅读:
    POJ 1141 括号匹配 DP
    881. Boats to Save People
    870. Advantage Shuffle
    874. Walking Robot Simulation
    文件操作
    861. Score After Flipping Matrix
    860. Lemonade Change
    842. Split Array into Fibonacci Sequence
    765. Couples Holding Hands
    763. Partition Labels
  • 原文地址:https://www.cnblogs.com/xujanus/p/4849861.html
Copyright © 2020-2023  润新知