• 计算机网络——超文本传送协议HTTP


    简述


      每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求。一旦监听到连接建立请求并建立了TCP连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。最后,TCP连接就被释放了。

      HTTP协议的底层传输默认使用的是可靠的TCP协议。

      在浏览器和服务器之间的请求和响应的交互,必须按照规定的格式和遵循一定的规则。

      这些格式和规则就是超文本传送协议HTTP。

      HTTP协议是应用层协议,在TCP/IP协议接收到数据之后需要通过HTTP协议来解析才可以使用。

    报文结构


      HTTP协议中的报文结构非常重要。

      HTTP中报文分为请求报文(request message)和响应报文(response message)两种类型,这两种类型都包括三部分:

      • 首行
      • 头部
      • 主体

      主体保存具体内容,请求报文中主要保存POST类型的参数,响应报文中保存页面要显示的结果。

      首行、头部和主体以及头部的各项内容用回车换行( )分割,另外头部和主体之间多一个空行,也就是有两个连续的回车换行。它们的接口如下图所示:

    请求


      HTTP请求由三部分组成,分别是:请求行、消息报头、请求正文

      HTTP请求报文的方法:

    • GET 请求获取Request-URI所标示的资源
    • POST 在Request-URI所标示的资源后附加新的数据
    • HEAD 请求获取由Request-URI所标示的资源的响应消息报头
    • PUT 请求服务器存储一个资源,并用Request-URI作为其标示
    • DELETE 请求服务器删除Request-URI所标识的资源
    • TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
    • CONNECT 用于代理服务器
    • OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求

    响应


      每个请求报文发出后,都能收到一个响应报文。响应报文的第一行就是状态行。

      状态行包括三项内容,即HTTP的版本,状态码,以及解释状态码的简单短语。

      状态码都是三位数字的,分为5大类共33种:

    • 1XX:表示通知信息,如请求收到了或正在进行处理
    • 2XX:表示成功,如接受、理解
    • 3XX:表示重定向,如要完成请求还必须采取进一步的操作
    • 4XX:表示客户的错误,如请求中有错误的语法或不能完成
    • 5XX:表示服务器的差错,如服务器失效无法完成请求

      常见状态代码:

    • 200 OK //客户端请求成功
    • 400 Bad Request //客户端请求有语法错误,不能被服务器所理解
    • 401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
    • 403 Forbidden //服务器收到请求,但是拒绝提供服务
    • 404 Not Found //请求资源不存在,eg:输入了错误的URL
    • 500 Internal Server Error //服务器发生不可预期的错误
    • 503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
  • 相关阅读:
    Spring 中的事务操作、注解、以及 XML 配置
    ..OBJLED.axf: Error: L6218E: Undefined symbol EXTI_Init (referred from exti.o). 错误修改
    ADC分辨率
    单片机ADC检测4-20mA电路,以及计算方法
    STM32速度---网页讲解
    转载电子发烧友网---STM32的IO口灌入电流和输出驱动电流
    精密电阻性能
    ..OBJCAN.axf: Error: L6411E: No compatible library exists with a definition of startup symbol __main.
    asp.net---jquery--ajax 实现滚动条滚动到底部分页显示
    柱状图dataLabels 文字格式 以及如何获取柱子的name(名称)属性
  • 原文地址:https://www.cnblogs.com/zhengbin/p/5607500.html
Copyright © 2020-2023  润新知