• HTTP 03 HTTP 报文头


    客户端的HTTP报文, 叫做请求报文

    服务器端的叫做 响应报文.

    HTTP 报文本身是由多行 (用 CR+LF 作换行符) 数据构成的字符串文本.

    HTTP 报文大致分为报文首部 和 报文主体 两部分. 

    请求报文及响应报文的结构

    在传输的过程中, 还可以对报文进行压缩和编码. 另外要对报文进行分块, 以小块(数据包)的形式进行传输

    常用的header 字段有:

    Accept-Charset 设置接受的字符编码, Accept-Charset: utf-8

    Cookie 设置服务器使用Set-Cookie发送的http cookie, Cookie: $Version=1; Skin=new;

    X-Csrf-Token,X-CSRFToken,X-XSRF-TOKEN 防止跨站请求伪造, X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql

    X-Request-ID,X-Correlation-ID 标识客户端和服务端的HTTP请求, X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5

    Content-Type 设置响应体的MIME类型, Content-Type: text/html; charset=utf-8

    Set-Cookie 设置HTTP Cookie, Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1

    Status 设置HTTP响应状态, Status: 200 OK

    获取部分内容的范围请求

    以前, 用户不能使用高速的互联网时, 下载比较大的图片就很吃力, 如果下载过程中遇到网络中断的情况, 那就必须重头开始, 为了解决上述问题, 需要一种可恢复的机制. 所谓恢复是指能从之前下载中断处恢复下载.

    Content-Range: 可以用来制定请求部分内容.

    针对范围请求, 响应会返回状态码 206 partial content 响应报文, 如果服务器无法响应范围请求, 则会返回状态码 200 OK 和 完整的实体内容.

    返回状态码

    200 OK 一切OK

    204 No Content 请求已经成功处理, 但在返回的响应报文中不包含实体的主体部分, 另外, 也不允许返回任何实体主体

    206 partial content, 表示响应了部分请求

    301 Moved Permanently 永久重定向, 状态表示请求的资源已经被分配了新的 URI, 以后使用新的URI

    302 Found 临时重定向, 表示当次请求的资源已被分配了新的 URI, 希望用户本次能使用新的URI

    303 See Other 根 302 类似, 并且要求用户下次请求时必须使用 GET 方法.

    注意: 当 301, 302, 303 响应状态码返回时, 几乎所有的浏览器都会把 POST 改成 GET, 并删除请求报文内的主题, 之后请求会自动再次发送.

    304 Not Modified 根以上的3XX不同, 跟重定向没啥关系, 表示附带条件的请求, 如果条件不满足, 返回304

     307 Temporary Redirect, 临时重定向, 与 302 相同

    4XX 客户端错误

    400 Bad Request, 请求报文中包含语法错误

    401 Unauthorized 没有权限, 认证失败

    403 Forbidden 请求的资源被服务器拒绝(服务器无需提供理由)

    404 Not Found, 服务器上没看到你请求的资源

    5XX 服务器错误

    500 Internal Server Error, 表明请求过程中服务器端发生了错误.

    503 Service Unavailable, 服务器暂时处于超负载或正在进行停机维护, 现在无法处理请求.

  • 相关阅读:
    C++调用Java的Jar包(带参数)
    SOA创建Form表单
    vs2013 IntelliSense: "const char *" 类型的实参与 "LPCWSTR" 类型的形参不兼容
    idea无法正常使用SVN的解决方法
    关于C语言中print输出问题
    TC怎么在代码中实现选中一个TCCcomponent对象?
    Unity 1.0 中文文档:1 Unity 简介
    Unity(四):使用场景Ⅰ:建立类型映射
    这个世界上没有白干的活
    Unity(三):快速入门
  • 原文地址:https://www.cnblogs.com/moveofgod/p/7667480.html
Copyright © 2020-2023  润新知