HTTP协议

本文详细介绍了HTTP协议的工作原理,包括其无状态和无连接的特点。重点解析了HTTP请求的组成部分,如请求行(包含请求方式、URL和HTTP协议版本)、请求头和请求体,以及GET和POST请求的区别。同时,还阐述了HTTP响应的结构,如响应行(协议版本、状态码和状态消息)、响应头和响应主体,并列举了一些常见的状态码。通过对HTTP协议的深入理解,有助于提升网络通信的效率和安全性。
摘要由CSDN通过智能技术生成

特性

HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP/IP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。
HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

Web服务器根据接收到的请求后,向客户端发送响应信息。

HTTP默认端口号为80,8080但是你也可以改为其他端口。
特点是:无状态,无连接在这里插入图片描述

协议的请求

利用抓包工具httpwatch可以获取报文
HTTP协议的报文都是ASCII码,建立在TCP传输协议之上。HTTP的请求主要有三个部分:请求行、请求头和请求体

请求行

即求情的数据格式中的第一行,由三个内容组成:请求方式、URL、HTTP协议的版本。

          1.请求方式:GET or POST
          2.URL:请求的目标网址,或者IP地址
          3.HTTP协议版本:发送请求的HTTP协议的版本号如:HTTP/1.1

第一行,包含三个信息:请求方式,url,http协议版本

区别:
1、url可见性
get 参数url可见;
post url参数不可见 (可通过抓包获取)
2、数据传输上
get 通过拼接url进行传递参数
post 通过body体传输参数(post传参使用&连接)
3、缓存性
get 请求是可以缓存的
post 请求不可以缓存
4、后退页面的反应
get 请求页面后退时,不产生影响
post 请求页面后退时,会重新提交请求
5、传输数据的大小
get 一般传输数据大小不超过2k-4k(根据浏览器不同,限制不一样,但相差不大)
post 请求传输数据的大小根据php.ini 配置文件设定,也可以无限大。
6、安全性
原则上post肯定要比get安全,传输参数时url不可见。对传递的参数进行加密,其实都一样。
本质区别
GET产生一个TCP数据包;POST产生两个TCP数据包。
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应 200 ok (返回数据)。

请求头

向服务器发送一些数据和数据标识等等,有很多信息,每个信息都有 "信息名:+信息值"的方式组成,而且每个信息之间必须由空行隔开,代表信息结束。
请求头信息,需要使用一个空行结束

请求体

是代理端向服务器发送的请求数据,请求体才是需要给服务器发送的数据,比如要给服务器发送一个数据 1,那么这个数据1 就是请求体。
get请求,没有请求主体部分!get数据是在请求行中的url(即网址)上进行传递的!
请求代理端项服务器端,发送的请求数据!典型的就是POST形式发送的表单数据!

Http协议的响应

响应行

响应行包括:协议版本、状态码、状态消息
常见:

  • 500 服务器内部错误
  • 404 请求的页面没有找到
  • 403 没有权限
  • 200 请求成功

4开头一般是客户端出现的问题
5开头一般是服务端出现的问题

响应头

Content-Type: text/html 内容类型,告知浏览器接下来发送的响应主体数据是什么格式!
Content-Length: 响应主体数据的长度!
Date: 响应的时间。GMT时间!

响应主体

主要的响应数据,在浏览器的主体区域显示的数据都是相应主体!
每行包括相应行和响应头,都需要一个 \r\n结尾

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

llechee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值