• 测试开发面试准备之HTTP协议-Http常用请求方法


    那么HTTP请求报文和响应报文会是什么格式呢?

    起始行:如 GET / HTTP/1.0 (请求的方法  请求的URL 请求所使用的协议)

    头部信息:User-Agent  Host等成对出现的值

    主体

    不管是请求报文还是响应报文都会遵循以上的格式。

    那么起始行中的请求方法有哪些种呢?

      GET: 完整请求一个资源 (常用)

      HEAD: 仅请求响应首部

      POST:提交表单  (常用)

      PUT: (webdav) 上传文件(但是浏览器不支持该方法)

      DELETE:(webdav) 删除

      OPTIONS:返回请求的资源所支持的方法的方法

      TRACE: 追求一个资源请求中间所经过的代理(该方法不能由浏览器发出)

    那什么是URL、URI、URN?

    URI  Uniform Resource Identifier 统一资源标识符

    URL  Uniform Resource Locator 统一资源定位符

        格式如下:  scheme://[username:password@]HOST:port/path/to/source

                    http://www.magedu.com/downloads/nginx-1.5.tar.gz

    URN  Uniform Resource Name 统一资源名称

    URL和URN 都属于 URI

    为了方便就把URL和URI暂时都通指一个东西

    请求的协议有哪些种?

    有以下几种:

    http/0.9: stateless

    http/1.0: MIME, keep-alive (保持连接), 缓存

    http/1.1: 更多的请求方法,更精细的缓存控制,持久连接(persistent connection) 比较常用

    下面是Chrome发起的http请求报文头部信息

    wKioL1LSXMqCjyIQAAESKm-mkV8876.jpg

    其中

    Accept  就是告诉服务器端,我接受那些MIME类型

    Accept-Encoding  这个看起来是接受那些压缩方式的文件

    Accept-Lanague   告诉服务器能够发送哪些语言

    Connection       告诉服务器支持keep-alive特性

    Cookie           每次请求时都会携带上Cookie以方便服务器端识别是否是同一个客户端

    Host             用来标识请求服务器上的那个虚拟主机,比如Nginx里面可以定义很多个虚拟主机

                    那这里就是用来标识要访问那个虚拟主机。

    User-Agent       用户代理,一般情况是浏览器,也有其他类型,如:wget curl 搜索引擎的蜘蛛等    

    条件请求首部:

    If-Modified-Since 是浏览器向服务器端询问某个资源文件如果自从什么时间修改过,那么重新发给我,这样就保证服务器端资源

                文件更新时,浏览器再次去请求,而不是使用缓存中的文件

    安全请求首部:

    Authorization: 客户端提供给服务器的认证信息;

    什么是MIME?

    MIME(Multipurpose Internet Mail Extesions 多用途互联网邮件扩展)是一个互联网标准,它扩展了电子邮件标准,使其能够支持非ASCII字符、二进制格式附件等多种格式的邮件消息,这个标准被定义在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等RFC中。 由RFC 822转变而来的RFC 2822,规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息都不能在电子邮件中传输。MIME规定了用于表示各种各样的数据类型的符号化方法。 此外,在万维网中使用的HTTP协议中也使用了MIME的框架,标准被扩展为互联网媒体类型。

    MIME 遵循以下格式:major/minor 主类型/次类型 例如:

    p_w_picpath/jpg
    p_w_picpath/gif
    text/html
    video/quicktime
    appliation/x-httpd-php
  • 相关阅读:
    理解钩子Hook以及在Thinkphp下利用钩子使用行为扩展
    ThinkPHP 分页类的使用及退出功能的实现
    ThinkPHP登录功能代码
    thinkphp遗留问题
    ThinkPHP随笔
    ThinkPhp循环出数据库中的内容并输出到模板
    thinkphp常用Config.php配置项
    thinkphp笔记
    PHP面向对象学习七 总结
    Trie树
  • 原文地址:https://www.cnblogs.com/william126/p/10886296.html
Copyright © 2020-2023  润新知