• HTTP协议详细解析


    HTTP协议详解

    HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。

    HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

    HTTP协议主要有三个特点:

    1.无连接:每次连接只能处理一个请求。

    2.媒体独立:只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。

    3.无状态:对事物的处理能力是没有记忆能力的。

    HTTP协议的使用:

    HTTP主要使用URI(统一资源标识符 -- Uniform Resource Identifiers)来传输数据和建立连接。

    HTTP协议的消息结构:

    客户端请求消息:请求行(request line)、请求头部(header)、空行和请求数

    据四个部分组成,下图给出了请求报文的一般格式。

    2012072810301161

    服务器响应消息:状态行、消息报头、空行和响应正文。

    httpmessage

    HTTP请方法:

    HTTP1.0定义了三种请求方法: GET, POSTHEAD方法。

    HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACECONNECT 方法。

    方法详解:

    GET:指定请求页面信息,返回实体主体。数据包含在请求头中。

    HEAD:类似GET,但是返回的响应消息中没有内容,只有头部信息。

    POST:向指定资源提交数据进行处理,数据包含在请求体中,可以导致新的资源建立或已有的资源修改。

    PUT:从客户端想服务器传送的数据取代指定的文档内容。

    DELETE:请求服务器删除指定的页面。

    CONNECT:能够将连接改为管道方式的代理服务器。

    OPTIONS:允许客户端查看服务器的性能。

    TRACE:回显服务器收到的请求,主要用于测试或诊断。

    HTTP协议响应头解析

    Allow : 支持哪些方法,比如 PUT,GET,POST...

    Content-Encoding:文档的编码方法,gzip

    Content-Length:文档的内容长度。

    Content-Type:文档类型。默认为text/plain ,一般需要显示指定为 text/html

     DATE:当前的GMT时间。

    Expires:文档过期时间

    Last-Modified:最后的修改时间

    Location:客户应去哪里提取文档。

    Refresh:标明浏览器多长时间刷新一次文档。

    Server:服务器名字,一般不指定。

    Set-Cookie:设置和页面相关的Cookie数据。

    WWW-Authenticate:客户应该在Authorization头中提供什么类型的授权信息。

    HTTP协议的Content-Type:

    Content-Type:内容类型。用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。

    HTTP状态码:

    HTTP状态码分为五种类型:

    1** 信息,服务器收到请求,需要请求者继续执行操作
    2** 成功,操作被成功接收并处理
    3** 重定向,需要进一步的操作以完成请求
    4** 客户端错误,请求包含语法错误或无法完成请求
    5**

    服务器错误,服务器在处理请求的过程中发生了错误

  • 相关阅读:
    第九届蓝桥杯省赛c/c++真题明码题解答案,另类excel解法思路
    Windows下将Python源代码.py文件封装成exe可执行文件方法
    windows下python自带的pip安装速度过慢解决方案
    解决:Errors were encountered while processing
    ubuntu 安装 caffe 解决://home/xiaojie/anaconda/lib/libpng16.so.16:对‘inflateValidate@ZLIB_1.2.9’未定义的引用
    ubuntu安装caffe 解决:build_release/tools/caffe: error while loading shared libraries: libcudart.so.8.0: cannot open shar
    ubuntu 禁止内核更新
    ubutun 中notebook出现 Permission denied: Untitled.ipynb
    ubuntu下anaconda使用jupyter notebook加载tensorflow、pytorch
    ubuntu下用anaconda快速安装 pytorch
  • 原文地址:https://www.cnblogs.com/DFX339/p/8710341.html
Copyright © 2020-2023  润新知