技术储备(二):http请求报文和响应报文

本文详细介绍了HTTP中的GET和POST请求方式,强调了GET与POST的区别,如GET将数据附加在URL后,POST则在请求数据中携带。同时,解析了HTTP请求报文的结构,包括请求行、请求头部、请求数据,以及POST请求中Content-Length字段的作用。此外,还阐述了响应报文的构成,包含状态行、响应头部和正文,并列举了常见的HTTP状态码及其含义。

一、GET和POST

http常用请求分为两种方式:GET和POST。
浏览器向服务器发送http请求报文格式为:请求行+请求头部+空白行+(请求数据)
在这里插入图片描述
注意:
1、请求数据只有在POST时才有,在请求头部有一字段,Content_Length表示请求数据的长度。GET方式没有请求数据,http请求报文以空白行结尾。
2、使用GET时数据附加在URL后面,和URL以?分开,各个变量之间以&分开。由于各个浏览器对于URL长度有限制,则GET方式传输数据量受限。
3、回车符\r和换行\n

二、请求报文示例

get方式:最下面空行一定有

GET /sn/index.php?sn=123&n=asa HTTP/1.1
Accept:*/*
Accept-Language:zh-cn
host:localhost

post方式:

POST  /sn/index.php HTTP/1.1
Accept:*/*
Accept-Language:zh-cn
host:localhost
Content-Type:application/x-www-form-urlencoded
Content-Length:12
Connection:close

sn=123&n=asa

表示成char形式时,每一行后面都有回车(\r)和换行(\n),并且在请求头部结束后,有一空行为\r\n。

三、响应报文

包括状态行+响应头部+正文。状态行包括HTTP协议版本+响应状态+状态描述
示例:

HTTP/1.1 200 OK
Date:Sat,31 Dec 2005 23:59:59 GMT
Content-Type:text/html;charset=ISO-8859-1
Content-Length:122

<html>
<head>
<title>Hello World</title>
</head>
<body>
<!-- body goes here>
</body>
</html>

状态码分类如下:
1xx:指示信息–表示请求已接收,继续处理。
2xx:成功–表示请求已被成功接收、理解、接受。
3xx:重定向–要完成请求必须进行更进一步的操作。
4xx:客户端错误–请求有语法错误或请求无法实现。
5xx:服务器端错误–服务器未能实现合法的请求。

参考链接

https://www.cnblogs.com/biyeymyhjob/archive/2012/07/28/2612910.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值