【浏览器】HTTP请求头格式和响应格式

摘要:
HTTP请求头格式HTTP请求消息由四部分组成:请求行、请求头、空行和请求数据。下图显示了请求消息的一般格式。例如,name='zs'&age=10HTTP响应格式HTTP响应也由三部分组成:状态行、消息头和响应体。

HTTP请求头格式

一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。

【浏览器】HTTP请求头格式和响应格式第1张 

提示: 回车符 换行符

请求首行分析:

【浏览器】HTTP请求头格式和响应格式第2张

请求方式: GET 和 POST 方式:

GET请求:地址栏访问、超链接访问都是get请求方式,get请求方式不安全,地址栏大小有限。

POST请求:内容在请求体中,数据安全,理论上内容可以无限。

请求地址:访问服务器的哪个目录。

请求协议: HTTP版本有1.0和1.1两个版本, 1.0版本建立连接后立即断开,下次访 问需要再次建立连接, 1.1版本 建立连接后可以不用断开,直到不发送信息后 才断开节约了资源;

请求头分析

    1. Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8表示客户端可以接受的内容类型,多个值使用;分号隔开q=0.9 表示权重优先级,*/*表示可以接受任意类型内容;
    2. Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3表示客户端可以接受的语言
    3. User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64x64;浏览器信息,例如使用的是网井的内核, windows64位系统;
    4. Accept-Encoding: gzip, deflate–>>支持的压缩格式
    5. Host: localhost:8888====>访问地址
    6. Connection: keep-alive —>>保持连接 和HTTP1.1版本有关,默认保持3s
    7. Content-Type: application/x-www-form-urlencoded表单提交时才有可能出现,表示表单的数据类型,使用url编码,url编码 % 16位数
    8. Content-Length: 7—>post请求 请求体长度
    9. Upgrade-Insecure-Requests: 1–>>告诉服务器,浏览器可以处理https协议

请求空行分析:
就是一个分隔符,用来区分请求头和请求体的;

请求体分析:
只有POST请求才有请求体, 因此 POST请求 请求体中存放的是表单提交的键值对。
例如:name=’zs’&age=10

HTTP响应格式

HTTP响应也由三个部分组成,分别是:状态行、消息报头、响应正文

【浏览器】HTTP请求头格式和响应格式第3张

【浏览器】HTTP请求头格式和响应格式第4张 

响应首行(状态行)分析:
HTTP/1.1 200 OK包含 协议–>>HTTP/1.1, 响应码(状态码)—>>200 , 状态码描述—>>OK
状态码:

    • 200: 服务器很好的处理了客户端的请求,一切 OK
    • 302: 重定向(发生两次请求)
      例如经常去一家饭店吃饭,突然某一天饭店搬迁,只剩下一个门,门上写着新店在左边100米处,然后你根据纸条找到新饭店; 302就相当于门上的条,当你访问一个网站时他给你返回302你需要重新访问新的网址; 这里面发生了2次请求
    • 304:通常表示资源文件在服务器没有更改,而浏览器端又有缓存,这时候回送 304 状体码通知浏览器拿本地的缓存显示。
    • 404:表示客户端访问的资源路径有问题或者资源问题不存在。
    • 500:表示服务器出现了 异常. 

响应头部分析:

  1. server: Apache-Coyote/1.1—>> 服务器版本号
  2. Set-Cookie:JSESSIONID=ECA8005D1235BBB6B9CFCC338A8206FD; Path=/03test; HttpOnly
  3. Content-Type: text/html;charset=utf-8响应字符集,告诉浏览器以什么样的字符集解码;
  4. Content-Length: 265 响应体长度
  5. Date: Fri, 23 Jun 2017 13:45:01 GMT 发送日期 少8个小时;
  6. Expires: -1、Cache-control:no-cache、Pragma:no-cache三个响应头一起使用, 表示禁止浏览器缓存当前页面. 每个浏览器厂商对认识的禁止头不同因此三个一起使用。

淘宝登录页

【浏览器】HTTP请求头格式和响应格式第5张 

参考:https://blog.csdn.net/xmxt668/article/details/89461183

参考:https://www.cnblogs.com/chenguangliang/p/6708592.html

免责声明:文章转载自《【浏览器】HTTP请求头格式和响应格式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇倍福TwinCAT(贝福Beckhoff)基础教程2.2 TwinCAT常见类型使用和转换_数组刷题-力扣-515. 在每个树行中找最大值下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java学习|HTTP请求头

https://www.cnblogs.com/honghong87/articles/6941436.html 常见http请求报文头属性      Accept:告诉服务端,客户端接受什么类型的响应,例如:           Accept:text/plan      表示纯文本           Accept的值可以是一个或多个midia typ...

HTTP协议中GET请求方法中的请求头内容 : If-Modified-Since

问题背景 HTTP协议中GET请求方法中的请求头内容 : If-Modified-Since 具体描述 HTTP请求头的IMS(If-Modified-Since):浏览器缓存记录的该文件的最后服务器修改时间。 浏览器发送HTTP请求时,把If-Modified-Since一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。 如...

HTTP 请求头 Header

HTTP 请求头 Header  HTTP请求头概述 (HttpServletRequest) HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST或者HEAD)。   如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说Content-...

常用的HTTP请求头与响应头

HTTP消息头是指,在超文本传输协议( Hypertext Transfer Protocol ,HTTP)的请求和响应消息中,协议头部分的那些组件。HTTP消息头用来准确描述正在获取的资源、服务器或者客户端的行为,定义了HTTP事务中的具体操作参数。 关于HTTP消息头 常用的HTTP请求头 常用的HTTP响应头 1. 关于HTTP消息头 HTTP...

HTTP请求头中的X-Forwarded-For介绍

概述 我们在做nginx方向代理的时候,为了记录整个代理过程,我们往往会在配置文件中加上如下配置: location ^~ /app/download/ { ... proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ... proxy_pass ht...

http扩展请求头中的x-Forwarded-For

X-Forwarded-For格式:   X-Forwarded-For: client-ip, proxy1-ip, proxy2-ip 客户端请求服务器的过程中没经过一个代理层(代理中使用了xff)那么 代理会把 请求过来的上一级的ip  追加到xff的最后面。 正常情况下xff请求的示意图: 上图是客户端请求时不带xff请求的头的情况! 客户端可以...