• HTTP协议的理解


    HTTP 的特性

    • HTTP 协议构建于 TCP/IP 协议之上,是一个应用层协议,默认端口号是 80
    • HTTP 是无连接无状态的

    HTTP请求报文

    HTTP 协议是以 ASCII 码传输 , 建立在 TCP/IP 协议之上的应用层规范。

    规范把 HTTP 请求分为三个部分:

    <method> <request-URL> <version>
    <headers>
    <entity-body>

    HTTP 定义了与服务器交互的不同方法
    最基本的方法有4种: GET,POST,PUT,DELETE  对应着 查询 、 增加 、修改 、 删除 操作

    URL 可以理解为一个 地址。 

    注意:

    • GET 可提交的数据量受到URL长度的限制,HTTP 协议规范没有对 URL 长度进行限制。这个限制是特定的浏览器及服务器对它的限制
    • 理论上讲,POST 是没有大小限制的,HTTP 协议规范也没有进行大小限制,出于安全考虑,服务器软件在实现时会做一定限制
    • 参考上面的报文示例,可以发现 GET 和 POST 数据内容是一模一样的,只是位置不同,一个在 URL 里,一个在 HTTP 包的包体里

    响应报文

    HTTP 响应与 HTTP 请求相似,HTTP响应也由3个部分构成,分别是:

      状态行
      响应头(Response Header)
      响应正文

    状态行由协议版本、数字形式的状态代码、及相应的状态描述,各元素之间以空格分隔。

    常见的状态码有如下几种:

    • 200 OK 客户端请求成功
    • 301 Moved Permanently 请求永久重定向
    • 302 Moved Temporarily 请求临时重定向
    • 304 Not Modified 文件未修改,可以直接使用缓存的文件。
    • 400 Bad Request 由于客户端请求有语法错误,不能被服务器所理解。
    • 401 Unauthorized 请求未经授权。这个状态代码必须和WWW-Authenticate报头域一起使用
    • 403 Forbidden 服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因
    • 404 Not Found 请求的资源不存在,例如,输入了错误的URL
    • 500 Internal Server Error 服务器发生不可预期的错误,导致无法完成客户端的请求。
    • 503 Service Unavailable 服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。

    参考: https://hit-alibaba.github.io/interview/basic/network/HTTP.html

  • 相关阅读:
    我的php学习笔记(三十六)PHP中开发自己的UBB代码
    Eclipse和MyEclipse安装和使用git(egit)图解笔记
    在ECSHOP首页增加一个浏览排行
    计算机网络
    游戏系统开发笔记(四)——游戏程序简介
    【自考】操作系统概论
    ZOJ 3700 Ever Dream 文章中单词的处理
    【自考】计算机网络技术
    Lvm 折腾小记
    UbuntuKylin的美好前景
  • 原文地址:https://www.cnblogs.com/ajk4/p/12916877.html
Copyright © 2020-2023  润新知