zoukankan      html  css  js  c++  java
  • HTTP协议相关知识点

    主要参考 http://www.imooc.com/article/14397,来源:慕课网,作者种子_fe

    HTTP是超文本传输协议,主要特点有:

    • 支持客户、服务器模式
    • 简单快速:客户向服务器请求服务时,只需传送请求方法和路径,而且HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快;
    • 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记;
    • 无连接:每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。节省了传输时间;
    • 无状态:HTTP是无状态协议,对于事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传。

    http请求:requset消息的结构

    三部分:请求行,请求头,请求体

    1. request line包括请求方法Method(GET/POST)、请求资源的路径path to resource(对应后端路由部分定义的路径)、http协议的版本号。
    2. request header请求头
    3. request body请求体,当使用GET方法发送请求的时候,请求体是空的

    http响应:response消息的结构

     三部分:响应行,响应头,响应体

    1. response line包括http协议版本号,响应状态码和响应状态消息
    2. request header响应头
    3. response body相应体

    HTTP响应状态码

    HTTP/1.1中定义了5类状态码, 状态码由三位数字组成,第一个数字定义了响应的类别

    1XX 提示信息类 - 表示请求已被成功接收,继续处理

    2XX 响应成功类 - 表示请求已被成功接收,理解,接受

    3XX 重定向类 - 要完成请求必须进行更进一步的处理

    4XX 客户端错误类 - 请求有语法错误或请求无法实现

    5XX 服务器端错误类 - 服务器未能实现合法的请求

    状态码有很多,不过一开始只需要掌握一些比较常见的:

    • 200 ok: 最常见的就是成功响应状态码200了, 这表明该请求被成功地完成,所请求的资源发送回客户端。上面打开项目主页的实例中就是200
    • 304 not modified: 假如我们打开主页后在浏览器中刷新,就会看到响应的状态码变成了304,这代表之前响应的html文档已经被缓存了,服务器端相同的文档没有变化,可以继续使用缓存的文档,因此304响应没有response body部分
    • 302 found: 重定向,新的URL会在response header中的Location中返回,浏览器将会自动使用新的URL发出新的Request,假如我们在登录页提交登录表单发送一个POST请求进行登录,就会得到一个302响应并且重定向到/index路径下
    • 404 not found: 请求资源不存在(输错了URL,或者服务器端现在没有这个页面了)
    • 500 Internal Server Error: 服务器发生了不可预期的错误,这个一般在会在服务器的程序码出错时发生
  • 相关阅读:
    SQL多表查询:内连接、外连接(左连接、右连接)、全连接、交叉连接
    PL/SQL Developer基本用法
    Oracle中存储过程与函数的区别
    C#反射动态调用dll中的方法
    WebClient模拟发送Post请求
    C#字符串、字节数组和内存流间的相互转换
    C#调用WebService
    VS2008安装SP1补丁后智能提示从中文变为英文的解决办法
    C#流总结(文件流、内存流、网络流、BufferedStream、StreamReader/StreamWriter、TextReader/TextWriter)
    VS2008创建单元测试
  • 原文地址:https://www.cnblogs.com/zgx123/p/7553874.html
Copyright © 2011-2022 走看看