Http协议

http协议

响应协议报文

/**
 * http响应协议的具体格式
 *
 * HTTP/1.1 200   ok                               状态行
 * Content-Type: text/html;charset=ISO-8859-1      响应头
 * Content-Length: 12
 * Date: Tue, 15 Nov 2022 00:37:19 GMT
 * Keep-Alive: timeout=20
 * Connection: keep-alive
 *                                                 空白行
 * getServlet                                      响应体

响应协议的组成部分

  • 状态行,三部分组成
    • 第一部分:HTTP/1.1 协议版本号
    • 第二部分:状态码(http协议中规定的响应状态号,不同的状态号对应不同的响应内容)
      • 常见: 200表示响应成功,正常
      • 404访问资源不存在,访问路径写错了,要么就是服务器对于资源未启动
      • 405表示前端发送请求的方式与后端处理请求的方式不同(如post请求,用get请求处理。。)
      • 500一般是服务器端的程序错误
    • 第三部分 状态的描述信息
      • 如: ok表示正常
      • ​ not found资源找不到
  • 响应头
    • 描述响应的内容类型,响应的内容长度,响应的时间。。。。。
  • 空白行
    • 分隔响应头和响应体
  • 响应体
    • 响应体就是响应的正文,是一个长字符串,这个字符串由浏览器渲染,解释并执行

get请求报文

GET /servlet05/getServlet?username=12312&password=21321321 HTTP/1.1		请求行
Host: localhost:8080								请求头
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;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, br
Referer: http://localhost:8080/servlet05/
Connection: keep-alive
Cookie: Idea-edf53cfb=3fbed5fe-3e57-49ee-8778-103837ec2a17
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
																		 空白行
																		 请求体

post请求报文

POST /servlet05/postServlet HTTP/1.1									请求行
Host: localhost:8080											请求头
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;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, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 33
Origin: http://localhost:8080
Connection: keep-alive
Referer: http://localhost:8080/servlet05/
Cookie: Idea-edf53cfb=3fbed5fe-3e57-49ee-8778-103837ec2a17
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
																		        
                                                                                                        空白行
username	"213"											请求体
password	"2313"

请求协议的组成

  • 请求行
    • 包括三部分
      • 1.请求方式
        • 常用:get/post
        • delete/put/head/options/trace
      • 2.URI
        • URI和URL什么关系?有什么区别?
        • URI是什么?统一资源标识符,代表网络中某个资源的名字,但是通过URI无法定位资源
        • URL是什么?统一资源定位符,代表网络中某个资源,通过URL可以定位到该资源
      • 3.http协议版本号
  • 请求头
    • 请求的主机
    • 主机端口号
    • 浏览器信息
    • 平台信息
    • cookie信息
    • ............................
  • 空白行
    • 用于区分请求头和请求体
  • 请求体
    • 向服务器发送的具体数据
posted @   RepublicLine  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示