美文网首页
http学习总结

http学习总结

作者: 忆江南_1569 | 来源:发表于2017-04-07 18:31 被阅读45次

    简介

    一直想总结一下自己之前做的一个接口自动化测试的一个项目,想了一下直接来写的话有点大,就先从http开始吧。

    http协议即超文本传输协议,是应用非常广泛的一种应用层协议,主要有以下特点:
    1.支持客户端/服务器模式
    2.简单快速。客户端向服务器请求服务时只需要传请求的方法和路径
    3.灵活。http协议允许传送任意类型的数据对象,正在传输的类型由request或response的header中的Content-Type标记
    4.无连接。http协议限制每次连接只处理一个请求,服务端处理完请求,并得到客户端的响应之后,即断开连接
    5.无状态。http是无状态协议指对于每次的事务处理没有记忆功能。

    url规则

    http://host:[port][abs_path]
    http表示使用http协议来定位网络资源,host表示请求的服务器的地址,port为请求的端口号,默认端口为80可以省略,ads_path为请求的路径,如果没有ads_path则用“/”的路径请求资源

    http请求

    http请求由3部分组成,请求行、消息报头、请求正文
    1.请求行格式method request-url http-version crlf
    method表示请求方法
    request-url表示请求的url
    http-version表示请求的协议版本
    crlf表示换行和回车
    常用的http请求方法:
    get 请求获取request-url所表示的资源
    post 在request-url所标识的资源后添加新的数据
    head 请求获取request-url所标识的资源的响应消息报头

    get 在浏览器中输入url访问网页,浏览器采用get方法向服务器获取资源
    post 方法要求被请求的服务器接受后面附加的数据,常用来提交表单
    head 方法用来获取响应头的header,可以用来测试链接的有效性、得到请求数据的大小(header中的Content-Length)而不用下载数据

    http响应

    http响应也有三部分组成,状态行、响应头、响应正文
    http-version status-code Reason-Phrase crlf
    http-version表示服务器的协议版本,status-code表示服务器返回的响应状态码,Reason-Phrase 状态代码的文本, crlf表示回车和换行

    http响应状态码,由三位数字组成,第一个数字定义了响应的类别,有以下5中可能的取值
    1xx:表示请求已接收正在处理
    2xx:表示请求已成功接收
    3xx:表示重定向,需要进一步处理
    4xx:表示客户端错误,请求有语法错误或无法实现
    5xx:表示服务端错误,服务器未能实现合法的请求
    常用的http状态码
    200/请求成功
    400/客户端有语法错误,服务器不能理解
    401/请求未经授权,一般和header有关系
    403/服务器收到请求,但是拒绝提供服务(禁止访问,爬虫时多会遇到)
    405/禁止访问资源(一般接口参数传错会返回此状态码)
    500/服务器内部发生错误
    503/服务器当前不能处理客户端请求

    http消息报头

    这里的消息报头即header

    请求报头
    Accept 表示请求客户端希望接收哪些类型的信息。Accept:image/gif表示客户端希望接收图片类型的数据,Accept:text/html表示客户端希望接收html文本
    Accept-Charset表示请求客户端希望接收的字符集。Accept-Charset:iso-8859-1,gb2312如果未设置则表示可以接收任何字符集
    Accept-Encoding用于指定可接受的内容编码
    Host 发送请求时该报头域是必须的,用于指定被请求资源的地址和端口号
    响应header
    User-Agent 将请求客户端的操作系统、浏览器和其他属性告诉服务器。这个报头域不是必须的

    响应报头
    Location 响应报头域用于重定向接收者到一个新的位置
    server 响应报头域包含了服务器处理该请求的软件信息,与User-Agent对应

    实体报头
    请求和响应消息可以传送一个实体报头
    常用的实体报头
    Content-Length实体报头域指明实体正文的长度,用十进制的字节数来表示
    Content-Type实体报头域指明发送给接收者的正文类型
    Content-Languaue实体报头域描述了资源所用的自然语言
    Content-Encoding实体报头域被用作媒体类型的修饰符,它的值指示了已经被应用到实体正文的附加内容的编码,因而要获得Content-Type报头域中所引用的媒体类型,必须采用相应的解码机制

    相关文章

      网友评论

          本文标题:http学习总结

          本文链接:https://www.haomeiwen.com/subject/tvfqattx.html