• Http协议基本知识简介


    HTTP协议是指超文本传输协议,位于应用层,HTTP规定数据格式,然后用tcp进行传输。

    请求响应模式:简单理解为客户端对服务器发起请求,服务器响应客户端。

    主要特点

    无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

    无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

    URL格式:http://host:port/path

    其中host代表主机IP或者域名。port为端口号,path为文件路径。

    HTTP格式:每个http响应和请求都包含相同的格式,由Header和Body两部分组成,Body是可选项。

    如下图

    其中的GET为请求方法,除此之外,还有POST,HEAD,OPTIONS,等方法。

    /142是请求的路径(path) HTTP/1.1为协议的版本。

    Host用于指定被请求资源的Internet主机和端口号。

    User-Agent允许客户端将它的操作系统,浏览器和其他属性告诉服务器。

    Accept用于指定客户端接受那些类型的信息。

    Accept-Language用于指定一种自然语言。

    Accept-Encoding用于指定可接受的内容编码。

    常见状代码、状态描述、说明:

    200 OK //客户端请求成功

    400 Bad Request //客户端请求有语法错误,不能被服务器所理解

    401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用

    403 Forbidden //服务器收到请求,但是拒绝提供服务

    404 Not Found //请求资源不存在,eg:输入了错误的URL

    500 Internal Server Error //服务器发生不可预期的错误

    503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

  • 相关阅读:
    EF上下文容器,保存线程唯一性
    zabbix 监控服务器的TCP状态
    C++ 类里面,函数占用存储空间问题
    大道至简第一章读后感(伪代码)
    读大道至简有感
    String 部分源码分析
    LinkedList 源码分析
    ArrayList 源码分析
    定时取数据库的schema,并推送到git服务器
    全面解读python web 程序的9种部署方式
  • 原文地址:https://www.cnblogs.com/vigo01/p/7554497.html
Copyright © 2020-2023  润新知