HTTP 协议 基础内容

发布时间 2023-12-17 10:47:23作者: 守护麦田

http协议基础内容

http协议:超文本传输协议HyperText Transfer Protocol.
HTTP工作原理:客户端发起请求到服务器,服务器处理后,响应回复客户端。
根据http协议的要求,无论是客户端发起请求,还是服务端返回响应,传输的数据都是以数据包的形式进行通信。
  • 一个数据包分为两部分:头header、身体body;
请求:请求头 +请求体
响应:响应头 +响应体

  • 面试题:可以说一下http请求头的常见字段
请求头 中主要存放一些通用信息:
请求方式(get、post、put、delete),url、协议
目标主机 host: ip+端口号
请求长度 content-length,单位:字节
客户端希望接受的数据类型 Accept:*/* 代表所有类型
User-Agent 客户端用的什么浏览器去访问的
content-type 本次请求的类型是    一般常见的有x-www-form-urlencoded代表表单页面;application/json代表json字符串
cookie:后面补充。

  • 常见的请求方式有:
get 从服务器获取数据   (查询)
post 向指定url提交某数据 (其他所有)
put  向指定URL更新某数据
delete  向指定URL 删除某数据

请求体的两种常用格式:
x-www-form-urlencoded代表表单页面,格式:键值对
loginName=admin&password=123456

Json格式
{
   "loginName":"admin",
   "password":123456
}

  • 响应头 主要存放的一些信息
协议 响应状态码
content-type 本次响应类型
响应语言 content-language
日期date
keep-alive保持链接超时时间
connection:keep-alive 保持长链接
响应体长度 content-length

  • 常见的响应状态码
200:正常
307:重定向 服务器 要求客户端重新请求一个新的url
401:未授权,需要身份认证
403:服务器禁止访问
404:请求的资源未找到,比如URL写错了,页面被删除等
405:请求方法不允许,比如服务端的post类型,客户端使用get方式请求
500:服务端内部出现异常

响应体:
响应体中包含了服务器返回的业务数据。 业务数据可以是任何的文本内容,比如HTML、Json等
如果返回是HTML,浏览器会解析HTML并进行渲染,最终展示出期望的页面。