请求消息详解(请求头、get、post、请求体)

简述

  我们在servlet的service方法中有两个参数,分别是ServletRequest和ServletResponse,如果想掌握这两个参数,我们必须对请求消息和相应消息有个深入的理解。

请求消息

  请求消息本质上就是客户端告诉服务器的一些信息。

  请求消息由请求行、请求头、请求空行、请求体组成。

  像这样就是一个完整的请求消息

复制代码
POST /login.html    HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://localhost/login.html
Connection: keep-alive
Upgrade-Insecure-Requests: 1
复制代码

请求行

  请求方式 请求url 请求协议/版本
  例:   GET /login.html HTTP/1.1

  * 请求方式:
  * HTTP协议有7中请求方式,常用的有2种
  * GET:
  1. 请求参数在请求行中,在url后。
  2. 请求的url长度有限制的
  3. 不太安全
  * POST:
  1. 请求参数在请求体中
  2. 请求的url长度没有限制的
  3. 相对安全

  如果面试问你,get请求和post请求有什么区别,那么请看超人:https://www.cnblogs.com/logsharing/p/8448446.html

请求头

  格式:请求头名称: 请求头值

  例: Host: localhost

  注意值有多个的情况下值用逗号隔开

  例如这样就是一个整个的请求头

Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://localhost/login.html
Connection: keep-alive
Upgrade-Insecure-Requests: 1

  常见的请求头:

  1.User-Agent:浏览器告诉服务器,我访问你使用的浏览器版本信息,可以在服务器端获取该头的信息,解决浏览器的兼容性问题

  2.Accept: 我作为浏览器可以解析哪些文件

  3.Referer:http://localhost/login.html : 告诉服务器,我(当前请求)从哪里来?可以防盗链

    什么是盗链呢?意思是一些盗版网站用了别人网站的链接

  同时Referer头可以做一个来源统计的操作。

  4.Connection: 连接是否可以被复用

请求空行

  请求空行就是一个空行,意思就是告诉服务器从下一行开始就没有请求头了

请求体

  注意get请求是没有请求体的,只有post请求有请求体

  请求体是以键值对的方式传输的

  post的请求体就是以键值对

 

posted @   艾尔夏尔-Layton  阅读(4437)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示