美文网首页
HTTP基本介绍

HTTP基本介绍

作者: 刘一笔 | 来源:发表于2018-11-07 22:50 被阅读12次

    超文本传输协议(HyperText Transfer Protocol)balabalbal....

    抛开维基上的标准解释,用我的话来表达目前我对HTTP的理解。究其本质,他是一个协议,也就是说使用它的人都得按照他的规则不然不认。这就有点像你用英语那你就得按照英语规范中的那一套语法来使用。

    HTTP请求包括哪些部分?

    # 请求行(请求动作,路径(没有路径默认 / ),协议/版本)
    # 请求头(Host、Accepte-Language等)
    # 空行
    # 其他消息体

    请求行的例子 "GET / HTTP/1.1" "GET /iamges/logo.gif/ HTTP/1.1",注意路径前后的空格;在HTTP/1.1中,除Host外的其他请求头都是可选的。其他消息体可由请求客户端自定。

    一个完整的请求例子
    GET / HTTP/1.1
    Host: www.baidu.com
    User-Agent: curl/7.54.0
    Accept-Language: en
    Sam: xxx

    HTTP响应包括哪些部分?

        Status-Line
        gereral-header
            Cache-control
            Connection
            Date
            ...
        response-header
            Accept-ranges
            Server
            Vary
            ...
        entity-header
            Allow
            Content-Encoding
            Content-length
            ...
        CRLF
        Message-body

    以上来自w3标准文档,维基上也没看到翻译好的统一格式。

    一个例子:
    HTTP/ 1.1 200 OK
    Content-Length:3059
    Server:GWS/2.0
    Date:Sat, 11 Jan 2003 02:44:04 GMT
    Content-Type:text/html
    Cache-control:private
    Set-Cookie:PREF=ID=73d4aef52e57bae9:TM=1042253044:LM=1042253044:S=SMCc_HRPCQiqyX9j;expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com
    Connection:keep-alive

    用方方的话总结来讲就是
    1 协议/版本号 状态码 状态解释
    2 Key1: value1
    2 Key2: value2
    2 Content-Length: 17931
    2 Content-Type: text/html
    3
    4 要下载的内容

    第三部分的空格不能少。

    如何用浏览器开发工具查看请求和响应内容

    控制台

    步骤:打开chrome浏览器控制台切换到Network栏,在地址栏输入url打开网页,看到Network栏的请求和响应流,随便点击一个就可以看到类似上图的界面。
    在headers一栏中,Response headers和Request heads右侧有view source,点击即可看到原滋原味的浏览器请求头和服务器响应体,即是上面总结中说到的第一和第二部分;点击Response或者preview可以看到总结中说到的第四部分。

    curl命令

    curl    transfer a URL(发送一个URL)
    参数太多,详见explainshell,下面提一些上课中用到的参数。
        -s silent 关闭命令中的进度条提示和不展示错误信息
        -v verbose  把这条命令变唠叨(瞬间找回侠盗车手的感觉),使用 > * < 符号详细告诉你这条命   令做了哪些事。> 发送的消息, < 收到的消息,* 提示信息
        -H 一定要大写,一些客服端自定义信息
        -X 定义请求动作,默认get
        -d data 在post请求中要发送到服务器的具体信息

    相关文章

      网友评论

          本文标题:HTTP基本介绍

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