zoukankan      html  css  js  c++  java
  • web安全基础

    以前学过的东西都没怎么整理,比较杂乱,现在通过写博客,整理一下自己学过的东西,温习一下,会有不同的收获。

    基础协议

    HTTP:即超文本传输协议,是一种无状态的协议,只能由客户端发起。(无状态是指WEB浏览器和WEB服务器之间不需要建立持久的连接),使用80端口进行连接,信息属于明文传输。

    HTTPS:其实就是HTTP的“升级”版本,在HTTP下加入了SSL层。即通过安全传输机制进行传送数据,所以比HTTP协议要安全一些,使用443端口进行连接。(一般需要到CA申请证书)

    Telnet:是TCP/IP协议中的一员,是intelnet远程登陆服务的标准协议和主要方式。默认23端口

    FTP:文件传输协议是TCP/IP协议中的一员,默认端口为20、21端口

    B/S:浏览器/服务端架构

    C/S:客户端/服务端架构

    HTTP状态码:

    • 1XX:信息提示,表示请求已经被成功接收,继续处理。范围:100~101
    • 2XX:成功,服务器成功的处理了请求。范围:200~206
    • 3XX:重定向,用于告诉浏览器客户端访问的资源已被移动。范围:300~305
    • 4XX:客户端错误,比如:一个不存在的URL。范围:400~415
    • 5XX:服务端错误,比如服务器运行出错。范围:500~505

    HTTP请求头:

    Accept:告诉服务端自己接受的什么内容类型、*/*表示任何类型、type/*表示该类型下的任何子类型、type/sub-type

    Accept-Charset:告诉服务端自己接受的字符集

    Accept-Encoding:浏览器申明自己接受的编码方法,通常指压缩方法、是否支持压缩、支持什么压缩方法(gzip、deflate)

    Accept-Language:浏览器申明自己接受的语言

    Authorization:当客户端接受来自web服务器的www-Authenticate响应时、返回自己的身份验证信息给web服务器

    if-match:如果对象的Etag没有改变,即:对象没有改变,才执行的请求动作,获取文档

    if-none-match:如果对象的Etag改变了,即:对象改变,才执行的请求动作,获取文档

    if-Range:浏览器告诉web服务器,如果我请求的对象没有改变,就把我缺少的部分给我,如果对象改变了,就把整个对象给我。浏览器通过发送请求对象的Etag 或者自己所知道的       最后修改时间给web服务器,让其判断对象是否改变,总是和 Range 一起使用

    Range:浏览器告诉服务器自己想取对象的哪一部分

    referer:浏览器向web服务器表明自己时从那一个url进入到当前网页的,即:上一个页面

    User-Agent:浏览器表明自己的身份,时哪种浏览器

    HTTP响应头:

    Conten-Encoding:文档的编码方法

    Conten-Length:表示内容长度,只有在浏览器进行持久的HTTP连接的时候才需要这个数据

    Conten-type:表示后面的文档属于什么MIME类型

    set-cookie:设置和页面关联的cookie

    www-Authenticate:客户应该在Authorization 头中提供什么类型的授权信息

    Location:客户应当去哪里提取文档,用于接受端定位到资源的位置(重定向)

    Allow:服务器支持哪些请求方法

    Accept-Ranges:web服务器表明自己是否接受某个实体的一部分,bytes:表示接受、none:表示不接受

    Refresh:1;url=http://www.baidu.com 隔多少秒之后,让当前页面去访问哪个页面

    Etag:资源特定版本的标识符,这可以让缓存更高效,并节省带宽,因为如果内容没有改变,Web服务器不需要发送完整的响应。而如果内容发生了变化,使用ETag有助于防止资源的同时更新相互覆盖(“空中碰撞”)。

    Last-Modified:web服务器认为对象的最后修改时间

    ps:就先写到这吧,以后在更新

  • 相关阅读:
    Kubernetes+Docker+Istio 容器云实践
    SDN网络IPv6组播机制支持实时视频业务海量用户扩展
    如何运用结构化思维进行故障处理
    UAVStack JVM监控分析工具:图形化展示采集及分析监控数据
    个性化推荐产品功能的设计和B端产品的功能策划方式
    Kubernetes监控实践(2):可行监控方案之Prometheus和Sensu
    demo演示如何写一个无配置格式统一的日志
    指尖前端重构(React)技术调研分析
    学习设计模式前传
    我是码农要翻身
  • 原文地址:https://www.cnblogs.com/Excellent-person/p/11333378.html
Copyright © 2011-2022 走看看