【接口】HTTP(1)|请求|响应

1、概念

Hyper Text Transfer Protocol(超文本传输协议)用于从万维网(就是www)服务器传输超文本到本地浏览器的传送协议。

HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80。

HTTP是基于请求与响应模式的、无状态的、应用层的协议。

TCP------传输层协议

IP------网络层协议

2、HTTP请求报文( 报文===请求数据**)**

HTTP请求报文主要 由请求行请求头部空一行请求体 部分组成

请求行:请求方式 + url + 协议

2.1 请求方法(Request Method):

请求方法 备注
POST 创建资源-增加
GET 获取资源-查询
PUT 替换资源-修改
DELETE 删除资源
HEAD 获取服务器响应消息头
PATCH 更新资源,替换部分资源

2.2 URL(Uniform Resource Locator):

统一资源定位符,用于描述网上的资源

格式:schema://host[:port]/path/.../[?query-string]

scheme:协议,如http,https,ftp等

host:域名或者IP地址 DNS会将域名转换成IP地址

port:端口

path:资源路径

query-string:发送的参数

示例:https://www.baidu.com/s?wd=接口

2.3 请求头

请求头 描述
Host 主机ip地址或域名
User-Agent 客户端相关信息,比如操作系统、浏览器等信息,用户代理
Accept 指定客户端接收信息类型,如:image/jpg,text/html,application/json 表示任意类型的数据
Accept-Charset 客户端接受的字符集,如gb2312、iso-8859-1
Accept-Encoding 可接受的内容编码,如gzip------编码方式
Accept-Language 接受的语言,如Accept-Language:zh-cn
Authorization 客户端提供给服务端,进行权限认证的信息
Cookie 携带的cookie信息
Referer 当前文档的URL,即从哪个链接过来的
Content-Type 请求体内容类型,如Content-Type: application/x-www-form-urlencoded
Content-Length 数据长度
Cache-Control 缓存机制,如Cache-Control:no-cache
Pragma 防止页面被缓存,和Cache-Control:no-cache作用一样
X-Requested-With 如果 requestedWith 为 null,则为同步请求; 如果 requestedWith 为 XMLHttpRequest 则为 Ajax 异步请求。

3、HTTP响应报文

HTTP响应报文主要 由状态行响应头部空一行响应正文 部分组成

3.1 状态码

**状态码(Status Code ):**用以表示网页服务器HTTP响应状态的3位数字代码

状态码 描述
1XX 请求已接受待处理
2XX 请求成功并返回
3XX 重定向相关,请求资源位置发生了变化
4XX 客户端发送请求错误
5XX 服务器端错误

3.2 响应头

响应头 描述
Server HTTP服务器的软件信息
Date 响应报文的时间
Expires 指定缓存过期时间
Set-Cookie 种Cookie
Last-Modified 资源最后修改时间
Content-Type 响应的类型和字符集,如:Content-Type: text/html; charset=utf-8
Content-Length 内容长度
Connection 如Keep-Alive,表示保持tcp连接不关闭,不会永久保持连接,服务器可设置
Location 指明重定向的位置,新的URL地址,如304的情况
相关推荐
李少兄1 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
可乐加.糖1 小时前
一篇关于Netty相关的梳理总结
java·后端·网络协议·netty·信息与通信
大丈夫立于天地间1 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
Dream Algorithm1 小时前
路由器的 WAN(广域网)口 和 LAN(局域网)口
网络·智能路由器
IT猿手2 小时前
基于CNN-LSTM的深度Q网络(Deep Q-Network,DQN)求解移动机器人路径规划,MATLAB代码
网络·cnn·lstm
吴盐煮_2 小时前
使用UDP建立连接,会存在什么问题?
网络·网络协议·udp
hyshhhh2 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
Hellc0073 小时前
轮询、WebSocket 和 SSE:实时通信技术全面指南(含C#实现)
网络
xujiangyan_3 小时前
nginx的反向代理和负载均衡
服务器·网络·nginx