zoukankan      html  css  js  c++  java
  • 49: HTTP协议; 53: HTTP 响应;

    学习目标

    1. 协议内部环节、各个环节的工作原理、漏洞
    2. 使用协议分析工具、编辑协议

    简介

    1. Hyper Text Transfer Protocol: HTTP 是应用层的协议,最后需要经过TCP 协议(物理层协议)才能传输;延伸(HTTPS, SOAP)
    2.  应用层协议与物理层协议的区别:应用层协议更关注内容
    3. 超文本:所有能够在网页展示的文本
    4. HTML: 构成网页内容的基础,所有元素都是由HTML 来呈现的

    特点

    1. 明文传输,安全性差
    2. 无状态协议:比如不会记录客户端的登录状态,每次查看都有重新登录,HTTP -session, cookie 弥补这个不足
    3. 应用层协议,标准化协议

    特点:协议头;协议正文;

    HTTP 状态码:

    200 : 一切正常

    302: 重定向,重定向到其他页面,比如提示页面不存在

    404: 页面不存在

    1、2 开头,正常;4 开头,请求错误;5 开头,服务器端有问题

    HTTP 请求:

    GET: 请求获取资源(由Request-URI 标识)

    request headers:

    1. Accept: 告诉服务器我当前可以处理内容的类型;*/* = 可以处理所有内容
    2. Accept-Language: 客户端可接受语言
    3. User-Agent: 告诉服务器客户端浏览器的版本号;括号之内的信息更重要,是具体的浏览器版本;
    4. Accept-Encoding: gzip, deflate; 压缩方式;为了节省带宽,服务器将要发送的内容压缩(压缩过程是在服务器里发生的,浏览器接收到服务器的压缩信息之后,根据压缩格式解压缩,然后还原出原始文本);这里告诉服务器支持的压缩格式;对应的,服务器也会返回压缩格式(Content-Encoding)
    5. host: 访问的主机,域名
    6. Connection: Keep-Alive, 长连接,TCP 连接类型;长连接存在的原因:在网络连接过程中,都需要建立TCP连接(三次握手、四次挥手);每次连接,都要建立TCP连接,会消耗大量网络资源, 于是引入“长连接”机制;如果下次访问相同的资源,可以重用这样的连接,可以节省资源;过时机制;
    7. Cookie: 稍后分析

    POST: 在资源(Request-URI 标识)后附加新的数据

    1. POST %%%% HTTP/1.1 : %%% 表示提交数据到某个绝对的URL 地址;
    2. Referer : 发送请求的页面; 可以跟踪来访者,了解来访者的行为;用户是如何访问我的页面的;如果 = 空,表示用户手动输入地址访问我的网站的;

    提示:

    1. 请求中的信息都是要发给服务器的,便于服务器根据发送的信息做一步处理;
    2. 谷歌浏览器不需要安装HTTPwatch, 直接ctrl + shift + i 打开控制台,在“network” 页签之下即是;点击“view source” 可以看到和HTTPwatch 相同的内容;

     

    以上为最常用请求,以下是不常用请求:

    1. HEAD = 请求获取资源相应消息的报头
    2. OPTIONS = 请求查询服务器性能,或查询与资源相关的选项和需求;
    3. PUT = 请求服务器存储资源,并用Request-URI 标识
    4. DELETE = 请求服务器删除资源
    5. TRACE = 请求服务器会送收到的请求信息,主要用于测试或诊断

    HTTP 响应

    1. Server = web 服务器版本
    2. *Content-Type = 告诉浏览器资源类型,便于正确处理资源(数据是以二进制来发送、传输的,浏览器接收到二进制数据后,根据数据类型解析成对应的文件)
    3. Transfer-Encoding: chunked = 数据传输方式,表示数据是分块传输的,浏览器接收之后,根据一定机制,将数据拼装之后解析;
    4. Cache-Control: private = 缓存控制方式,下次重新访问相同网址时,直接从本地调用
    5. Expires: = 缓存过期时间;过期之后,访问网址时重新从服务器获取缓存;如果Date = Expires, 表示不保存缓存,当下有效,下次访问,重新加载;
    6. 浏览器缓存 = 在本地硬盘中保存了页面;缓存一般说是内存中的缓存,当缓存对象 = “浏览器”时,指的是在本地硬盘保存了页面;
    7. X-UA-Compatible: 支持浏览器兼容模式查看;后面是兼容的浏览器;
    8. Set-Cookie = 服务器生成,发给浏览器,浏览器保存在cookie 文件夹中;

    注意:

    学习这些知识,为的是提高整体的设计测试的能力,根据这些知识分析、判断从哪方面、角度设计测试用例;从整体上把握这些知识,不要深陷这些细节知识出不来。

  • 相关阅读:
    Sybase:游标用法以及嵌套用法
    EasyUI:获取某个dategrid的所有行数据
    EasyUI:所有的图标
    Sybase:SAP IQ学习笔记
    Sybase:SybaseIQ的几个系统过程
    Sybase:解锁
    Python3:文件读写
    Android Studio 1.0.2 设置内存大小
    关于Android的margin(当前视图与周围视图的距离)和padding(当前视图与内部内容的距离)
    《Android Studio开发实战 从零基础到App上线》资源下载和内容勘误
  • 原文地址:https://www.cnblogs.com/George19950505/p/12313672.html
Copyright © 2011-2022 走看看