HTTP的介绍

一.什么是HTTP?

Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。

二.HTTP的特点

(1)基于TCP协议:面向连接,安全

(2)基于请求-响应模型的:一次请求对应一次响应

(3)HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的

三.HTTP的优点和缺点

优点:速度快

缺点:多次请求间不能共享数据

四..HTTP请求数据格式

(1)请求行:

请求数据的第一行,其中的GET表示请求方式,/表示请求资源路径,1.1表示协议版本

(2)请求头:

第二行开始,格式为key:value形式

3)请求体:

(会有空格隔开区分)POST请求的最后一部分

五.HTTP响应数据格式

(1)响应行:

响应数据的第一行。其中的HTTP/1.1表示协议版本,200表示响应状态码,OK表示状态码描述

(2)响应头:

第二行开始,格式为key:value形式

Content-Type:表示该响应内容的类型,例如text/html,image/jpeg;

Content-Length:表示该响应内容的长度(字节数);

Content-Encoding:表示该响应压缩算法,例如gzip;

Cache-Control:指示客户端应如何缓存,例如max-age=300,表示最多可以缓存300秒

(3)响应体:

最后一部分。存放响应数据

六.GET请求和POST请求的区别

(1)GET请求的请求参数在请求行中,没有请求体。POST请求的请求参数在请求体中

(2)GET请求的请求参数大小有限制,POST请求没有.

七.状态码分类说明

(1)1xx:响应中---临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果它已经完成就忽略它

(2)2xx:成功----表示请求已经被成功接收,处理已完成

(3)3xx:重定向---重定向到其他地方,它让客户端再发起一个请求以完成整个过程

(4)4xx:客户端错误---处理发生错误,责任在客户端,如:客户端的请求一个不存在的资源,客户端未被授权,禁止访问等

(5)5xx:服务器错误-----处理发生错误,责任在服务端,如:服务端抛出异常,路由出错,HTTP版本不支持等.

代码例子:

运行结果为:

相关推荐
XUEYUAN52123 天前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
captain3763 天前
HTTP(2)
java·网络·http·java-ee
比兔代理4 天前
正向代理与反向代理技术辨析,为什么代理 IP 属于正向代理
服务器·网络·http·ip
碳基修炼5 天前
排查记:本地 devServer 是 http,浏览器却把 302 重定向升级成了 https
前端·http
那年窗外下的雪.5 天前
第 02 天:Linux 权限、inode、目录项与链接
学习·http
那年窗外下的雪.5 天前
AIDC 学习日志|第 27 天|EVPN 多归属收敛时间线与 Leaf2 接管验证
网络协议·学习·http·tcpdump
j7~5 天前
【Linux】三十八.C++ 手写 HTTP 服务器:裸 socket + fork 多进程,从 HTTP 报文解析到浏览器打开网页
linux·网络·网络协议·学习·http·网络编程
布莱克6057 天前
HTTP 状态码详解:从分类到实战
计算机网络·http·状态码
StevenSurpass7 天前
打印业务彻底解耦:FastPrintAgent 统一 JSON 模型 + FastReport 引擎的设计与落地
mqtt·http·中间件·打印·fastreport
小此方8 天前
Linux网络(十二):HTTP短连接与长连接:从Connection机制到Cookie、Session,彻底理解HTTP的无状态
服务器·网络·http