• HTTP 报文头


    报文头

    HTTP的报文头大体可以分为四类,分别是

    • 通用报文头
    • 请求报文头
    • 响应报文头
    • 实体报文头
      在http/1.1里一共规范了47种报文头字段

    POST /webTours/login.pl HTTP/1.1 // 请求方法 请求uri地址,更多的时候也是url 协议名称与版本
    HOST:10.223.12.221:1080 // host地址
    Connection:keep-alive
    Content-Length:138
    Pragma: no-cache
    Cache-Control: no-cache
    Origin: http://10.223.12.221:1080
    Upgrade-Insecure-Requests:1
    Content-Type:application/x-www-form-urlencoded
    User-Agent:mozila/5.0 ...
    Accept:text/html,application...
    Referer:http://10.223.12.221:1080/webTours/nav.pl?in=home
    Accept-Encoding:gzip,deflate
    Accept-Language:zh-CN,zh;q=0.9
    Cookie:MSO=SID&1565154821

    通用报文头

    Cache-Control: 控制缓存的行为
    Connection:逐跳首部、连接的管理
    Date:创建报文的日期时间
    Pragma: 报文指令
    Trailer:报文末端的首部一览
    Upgrade:升级为其他协议
    Via:代理服务器的相关信息
    Warning:错误通知

    请求报文头

    Accept:用户代理可处理的媒体类型
    Accept-Charset:优先的字符集
    Accept-Encoding:优先的内容编码
    Accept-Language:优先的语言
    Authorization:Web认证信息
    Expect:期待服务器特定行为
    From:用户的电子邮箱地址
    Host:请求资源所在服务器
    If-Match:比较实体标记(ETag)
    If-Modified-Since:比较资源的更新时间
    If-None-Match: 比较实体标记
    If-Range:资源未更新时发送实体Byte的范围请求
    If-Unmodified-Since:比较资源的更新时间(与if-m-s相反)
    Nax-Forwards:最大传输逐跳数
    Proxy-Authorization:代理服务器要求客户端的认证信息
    Range:实体的字节范围请求
    Referer:对请求中URI的原始获取
    TE:传输编码的优先级
    User-Agent:HTTP客户端程序的信息

    响应报文头

    Accept-Ranges:是否接受字节范围请求
    Age:推算资源创建经过时间
    ETag:资源的匹配信息
    Location:令客户端重定向至指定URI
    Proxy-Authenticate:代理服务器对客户端的认证信息
    Retry-After 对再起发起请求的时机要求
    Server:HTTP服务器的安装信息
    Vary:代理服务器缓存的管理信息
    WWW-Authenticate:服务器对客户端的认证信息

    实体报文头

    Allow: 资源可支持的HTTP方法
    Content-Encoding:实体主体使用的编码方式
    Content-Length:实体主体的大小(单位是字节)
    Content-Location:替代对应资源的uri
    Content-MD5:实体主题的报文摘要
    Content-Range:实体主题的位置范围
    Content-Type:实体主体的媒体类型
    Expires:实体主体过期的日期时间
    Last-Modified: 资源的最后修改日期时间

    示例解释

    Accept
    作用:浏览器端可以接受的媒体类型,如text/html
    如果服务器无法返回一个text/html类型的数据,服务器应该返回一个406错误(Non Acceptable)
    值:
    / 代表浏览器可以处理所有类型
    权重值 q=(范围是0~1) 首先返回权重值最高的媒体类型

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

    Accept-Language
    作用:浏览器声明自己接收的语言,我在某个国家,希望看到不同的语言
    Accept-Language:zh-cn,zh;q=0.7,en-us,en;q=0.3 优先返回中文版,其次是英文版

    Connection
    作用:
    keep-alive:当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭
    如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接(减少握手次数)
    close:当一个请求完成后,C/S间的TCP连接会关闭,再次发送请求,再次建立连接

    Host
    作用:请求报文头用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来
    即服务器的主机和端口号
    url: http://www.baidu.com:8080
    HOST:www.baidu.com:8080

    Referer
    当浏览器向web服务器发送请求的时候回带上referer字段,告诉服务器我是从哪个页面链接过来的
    服务器可以借此获得一些信息用于处理

    User-Agent
    作用:
    告诉HTTP服务器,客户端使用的操作系统和浏览器名称和版本
    很多情况下我们会通过User-Agent来判断浏览器类型,从而进行不同的兼容设计

    Content-Type
    作用:说明报文体内对象的媒体类型
    text/html:HTML格式
    text/plain:纯文本格式
    text/xml:xml格式
    image/gif:gif格式
    image/jpeg:jpg格式
    image/png:png格式
    application/xhtml+xml:XHTML格式
    application/xml:XML数据格式
    application/atom+xml:Atom XML聚合格式
    application/json:json数据格式
    application/pdf:pdf格式
    application/msword:word文档格式
    application/octet-stream:二进制流数据(如常见的文件下载)
    application/x-www-form-urlencoded:表单提交

    这就是我们说http灵活的原因,支持很多种格式

  • 相关阅读:
    Java 几个权限关键字
    Java变量的定义
    Hibernate反射DAO模式
    BroadcastReceiver与Notification的综合应用自定义Action的调用方式
    SEO优化技术之关键字
    中软国际助力四所高校建设国家级大学生校外实践教育基地
    讲师团队的培养
    IT与学习
    程序员,你的粮草何在?
    如何更好的学好Linux操作系统
  • 原文地址:https://www.cnblogs.com/ltfxy/p/16306425.html
Copyright © 2020-2023  润新知