专栏首页小蔚记录HTTP -- 请求/响应 结构

HTTP -- 请求/响应 结构

一:一个HTTP请求报文由四个部分组成:请求行、请求头部、空行、请求数据。

1.请求行

  1.请求方法:GET POST

  2.URL字段

  3.HTTP版本字段

2.请求头

  1.Accept:浏览器可接受的mime类型。

  2.Accept-Charset:浏览器可接受的字符集。

  3.Accept-Encoding:浏览器能够进行解码的方式。

  4.Content-Length:表示请求消息的长度。

  5.Host: 客户端告诉服务器,想访问的主机名。

  6.Cookie:客户端可以向服务器带数据,只是非常重要的信息之一。

3.空行

  1.他的作用是告诉服务器 请求头部信息到此为止。

4.请求的数据

  1.若方法是 GET,则该项为空。(数据都在url 地址栏里面)

  2.若方法是 post 字段,则通常放置的是要 提交的数据。

二:响应报文 : 响应头,响应行,响应主体。

1.响应行

  1.协议版本

  2.状态码

2.响应头

  1.Allow (支持那些请求的方法。如:get post)

  2.Content- Type:表示属于什么类型文档。一般默认是 text/plain.通常指定为 text/html

  3.Date:当前的GMT时间。

  4.Expires:告诉浏览器把回送的资源缓存多长时间,-1或0则是不缓存。

  5.Last-Modified:文档的最后改动时间。客户可以通过If-Modified-Since请求头提供一个日期,该请求将被视为一个条件GET,只有改动时间迟于指定时间的文档才会返回,否则返回一个304(Not Modified)状态。

  6.Location:这个头配合302状态码使用,用于重定向接收者到一个新URI地址。表示客户应当到哪里去提取文档。Location通常不是直接设置的,而是通过HttpServletResponse的sendRedirect方法

  7.Refresh:告诉浏览器隔多久刷新一次,以秒计。

  8.Server:服务器通过这个头告诉浏览器服务器的类型。

  9.Set-Cookie:设置和页面关联的Cookie。Servlet不应使用response.setHeader(“Set-Cookie”, …),而是应使用HttpServletResponse提供的专用方法addCookie。

  10.Transfer-Encoding:告诉浏览器数据的传送格式。

  11.WWW-Authenticate:客户应该在Authorization头中提供什么类型的授权信息?在包含401(Unauthorized)状态行的应答中这个头是必需的。

  12.setDateHeader方法和setIntHeadr方法专门用来设置包含日期和整数值的应答头,前者避免了把Java时间转换为GMT时间字符串的麻烦,后者则避免了把整数转换为字符串的麻烦。

  13.setContentType:设置Content-Type头。大多数Servlet都要用到这个方法。

  14.setContentLength:设置Content-Length头。对于支持持久HTTP连接的浏览器来说,这个函数是很有用的。

  15。addCookie:设置一个Cookie(Servlet API中没有setCookie方法,因为应答往往包含多个Set-Cookie头)。

3.响应体

  1.可能是纯数据

  2.可能是 HTML 页面。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • vue -- 跨域cookie 丢失的问题

    小蔚
  • http --- 协议详解

       协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档...

    小蔚
  • react ----- 路由懒加载的几种实现方案

    符合ECMAScript提议的import()语法,该提案与普通 import 语句或 require 函数的类似,但返回一个 Promise 对象。这意味着模...

    小蔚
  • 浏览器书签同步工具

    关于书签同步,chrome和firefox目前都已经做得非常好,支持数据同步到云端。IE还不支持云端同步。

    2Simple
  • 高性能网站架构方案(三) ——Varnish加速与Gearman任务分发

    高性能网站架构方案(三)——Varnish加速与Gearman任务分发 原创内容,转载请注明来源,谢谢) 一、Varnish 在没有代理的情况下,对于htt...

    用户1327360
  • Appium+python自动化14-查看webview上元素(DevTools)

    前言 app上webview的页面实际上是启用的chrome浏览器的内核加载的,如何把手机的网页加载到电脑上,电脑的chrome浏览器上有个开发模式,是可以方便...

    上海-悠悠
  • 【数据价值】电话帮,只因一个号码库,BAT和小米都纷至沓来

    大数据文摘
  • 【数据价值】电话帮:只因一个号码库,BAT和小米都纷至沓来

    电话帮,若不是小米4的发布会,这家公司大众还是比较陌生的,但你应该体验过下面的服务,手机来电可以很清楚地知道对方是谁,甚至会显示“响一声欺诈”之类的提醒,电话帮...

    小莹莹
  • 斯坦福教授ICLR演讲:图网络最新进展GraphRNN和GCPN(附PPT下载)

    斯坦福大学教授 Jure Leskovec 是图网络领域的专家,图表示学习方法 node2vec 和 GraphSAGE 作者之一。

    zenRRan
  • 实时可靠的开源分布式实时计算系统——Storm

    在Hadoop生态圈中,针对大数据进行批量计算时,通常需要一个或者多个MapReduce作业来完成,但这种批量计算方式是满足不了对实时性要求高的场景。 Sto...

    CSDN技术头条

扫码关注云+社区

领取腾讯云代金券