HTTP请求报文

HTTP 请求报文由3部分组成(请求行+请求头+请求体)


HTTP请求报文分析 

1、 是请求方法,GET和POST是最常见的HTTP方法,初次以外还包括 DELETE、HEAD、OPTIONS、PUT、TRACE,不过现在大部分的浏览器只支持GET和POST

2、 是请求对应的URL地址,他和报文头的Host属性,组合起来是一个完整的请求URL

3、 是协议民称和版本号

4、 是报文头,有若干个属性,形式为key:val,服务端据此获取客户端信息

5、 是报文体,它将一个页面表单中的组件值通过param1=val1&parma=2的键值对形式编码成一个格式化串,它承载多个请求参数的数据,不但报文头可以传递请求参数,URL也可以通过/chapter15/user.html? param1=value1&param2=value2”的方式传递数值

常见的HTTP报文头属性

  • Accpet

    • 告诉服务端,客户端接收什么类型的响应
  • Referer

    • 表示这是请求是从哪个URL进来的,比如想在网上购物,但是不知道选择哪家电商平台,你就去问度娘,说哪家电商的东西便宜啊,然后一堆东西弹出在你面前,第一给就是某宝,当你从这里进入某宝的时候,这个请求报文的Referer就是www.baidu.com
  • Cache-Control

    • 对缓存进行控制,如一个请求希望响应的内容在客户端缓存一年,或不被缓可以通过这个报文头设置
  • Accept-Encoding

    • 这个属性是用来告诉服务器能接受什么编码格式,包括字符编码,压缩形式(一般都是压缩形式)

      • 例如:Accept-Encoding:gzip, deflate(这两种都是压缩格式)
  • Host

    • 指定要请求的资源所在的主机和端口
  • User-Agent 作用:告诉服务器,客户端使用的操作系统、浏览器版本和名称

HTTP响应报文

响应报文与请求报文一样,由三个部分组成(响应行,响应头,响应体)


HTTP响应报文分析

1、 报文协议及版本;

2、 状态码及状态描述;

3、 响应报文头,也是由多个属性组成;

4、 响应报文体,即我们要的数据。

HTTP响应状态码

 

简单说下常见的几个状态码

  • 200 OK 表示成功

  • 303 重定向,把你重定向到其他页面

  • 304 资源并未修改,可以直接使用本地的缓存

  • 404 找不到页面(页面被删除或其他)

  • 500 服务端错误

HTTP响应报文属性

  • Cache-Control

    • 响应输出到客户端后,服务端通过该属性告诉客户端该怎么控制响应内容的缓存
  • ETag

    • 表示你请求资源的版本,如果该资源发生啦变化,那么这个属性也会跟着变
  • Location

    • 在重定向中或者创建新资源时使用
  • Set-Cookie

    • 服务端可以设置客户端的cookie

更多请求属性和响应属性可以点击下面链接:

https://www.cnblogs.com/widget90/p/7650890.html

文章转载至:https://www.jianshu.com/p/9a68281a3c84

最新文章

  1. mfc的OnInitDialog的返回值
  2. php设计模式之单例模式使用示例
  3. 树莓派Odroid等卡片式电脑上搭建NAS教程系列5-Samba服务器安装
  4. http://www.open-open.com/lib/view/open1397274257325.html
  5. 在Azure中的Ubuntu中安装Open edX
  6. win32进阶之路:程序托盘图标+右键弹出菜单
  7. 【 NOIP2015 DAY1 T2 信息传递】带权并查集
  8. 怎样使用SetTimer MFC 够具体
  9. Android 颜色渲染(四) BitmapShader位图渲染
  10. BZOJ 1013 球形空间产生器
  11. centos 安装node js环境
  12. [LeetCode] 55. Jump Game 解题思路
  13. JavaScript的实现
  14. 07深入理解Java线程池
  15. 【设计模式+原型理解】第一章:使用Javascript来巧妙实现经典的设计模式
  16. java正则表达式取出匹配字符串
  17. jsp+servlet实现最基本的注册登陆功能
  18. pta l2-2(链表去重)
  19. PS合成的5个要点:场景、对比、氛围、模糊、纹理
  20. ASP.NET MVC 4 (二)控制器

热门文章

  1. json字符串和字典的区别
  2. linux免密传输文件 nc
  3. 三:.net core(.NET 6)给swagger添加文档注释详细步骤
  4. 一:windows10开启虚拟化服务(也可用于部署docker提前准备)
  5. webdriver中的等待——主要讲解WebDriverWait()
  6. grasshopper之python电池执行逻辑
  7. GPU编程和流式多处理器
  8. NVIDIA安倍架构
  9. CUDA C 纹理提取Texture Fetching
  10. JS使用Enter事件将输入的字符倒叙输出