http笔记

定义

是客户端与服务端传输文本的一种协议标准

http协议是无状态的

http协议默认端口是80

hrrps协议(加密传输)端口443

### 请求方法

```js
get(获取信息页面)
post(上传,修改,添加,服务端信息)
put(修改)
delete(删除)
head(只返回头信息)
trace(回显服务器收到的请求,主要用于测试或诊断)
connect(HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器)
options(客户端查看服务器性能)//如content-type为application/json时,会先发起一次options请求,如果支持所请求的方式,再发起请求

请求报文

一个HTTP请求报文由四个部分组成:请求行、请求头部、空行、请求数据。

请求行:请求报文的第一行就是请求行,用来说明要做些什么,请求行由请求方法字段、URL字段和HTTP协议版本字段三个字段组成,他们用空格分隔。比如:GET /data/info.html HTTP/1.1

请求头部:请求行后面为请求头部,包含零个活多个首部字段。这些首部字段表示了请求的各种条件和属性。每个首部字段都包含一个名字和一个值,两者之间用冒号来分隔。

空行:作用是高速服务器,请求头到此为止。

请求数据:空行之后就是可选的报文主体了,其中包含了所有类型的数据。请求体里包含了要发给WEB服务器的数据;响应体里包括了要返回给客户端的数据

js 复制代码
请求行
URL字段用以标识客户端想请求的资源位置,包含协议部分"http",域名部分"www,aspxfans.com"
协议版本:
HTTP/0.9:无法展示图片。
HTTP/1.0:一次请求/响应建立并拆除一次连接。
HTTP/1.1:支持持久连接。同一TCP连接中可以传送多个HTTP请求和响应。
HTTP/2.0:使用多路复用技术,并发处理巨量的请求。
请求头
Host:客户机通过这个头告诉服务器,想访问的主机名。Host头域指定请求资源的主机和端口号
Referer:客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的。
User-Agent:ser-Agent头域的内容包含发出请求的用户信息,浏览器类型等。
Cookie:保存了该客户机访问这个Web页面时的身份信息,是最重要的请求头信息之一。
Accept:浏览器可接受的MIME类型。
Accept-Charset:浏览器可接受的字符集。
Content-Length:表示请求消息正文的长度。
Connection:处理完这次请求后是否断开连接还是继续保持连接"Keep-Alive"。
Range:Range头域可以请求实体的一个或者多个子范围。

响应报文

一个HTTP响应报文由三个部分组成:响应行、响应头、响应体

响应行 :响应行一般有协议版本、状态码及其描述组成,比如:HTTP/1.1 200 OK
响应头 :响应头用于描述服务器的基本信息,以及各种数据,服务器通过这些数据的描述信息,可以通知客户端如何处理数据
响应体:响应体就是响应的消息,如HTML页面,JS代码之类的

js 复制代码
//响应行(状态码)
信息1xx:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。
成功2xx:
重定向3xx:302表示请求的资源移动到一个新的地址。307和304表示需请求缓存。
客户端错误4xx:404(无请求的资源),403(拒绝访问,权限不足)。
服务端错误5xx:

//响应头
Server:服务器通过这个头告诉浏览器服务器的类型。
Location:这个头配合302状态码使用,用于重定向接收者到一个新URI地址。
Content-Length:表示内容长度。
*content-disposition:用于获取文件名
*Content-Type:表示后面的文档属于什么MIME类型。
Content-Encoding:文档的编码方法。只有在解码之后才可以得到Content-Type头指定的内容类型。
Allow:服务器支持哪些请求方法。
Set-Cookie:设置和页面关联的Cookie。
Date:当前的GMT时间,例如,Date:Mon,31Dec200104:25:57GMT。

content-type常用格式

headers: {
      Authorization: getLocalAccessToken(),
      'content-type': type
    },
格式:类型/子类型;参数(参数如charset=UTF-8)
1.application/x-www-form-urlencoded
2.application/json(为默认格式)
3.multipart/form-data
4.application/xml 和 text/xml
相关推荐
lwprain2 分钟前
安装支持ssl的harbor 2.1.4 docker 19.03.8 docker-compose 1.24.0
网络协议·ssl·harbor
软件技术员3 分钟前
Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
服务器·网络协议·ssl
美式小田2 小时前
单片机学习笔记 9. 8×8LED点阵屏
笔记·单片机·嵌入式硬件·学习
猫爪笔记3 小时前
前端:HTML (学习笔记)【2】
前端·笔记·学习·html
_不会dp不改名_3 小时前
HCIA笔记3--TCP-UDP-交换机工作原理
笔记·tcp/ip·udp
C++忠实粉丝3 小时前
计算机网络socket编程(3)_UDP网络编程实现简单聊天室
linux·网络·c++·网络协议·计算机网络·udp
-一杯为品-3 小时前
【51单片机】程序实验5&6.独立按键-矩阵按键
c语言·笔记·学习·51单片机·硬件工程
熙曦Sakura5 小时前
完全竞争市场
笔记
C++忠实粉丝5 小时前
计算机网络socket编程(4)_TCP socket API 详解
网络·数据结构·c++·网络协议·tcp/ip·计算机网络·算法
Estar.Lee5 小时前
时间操作[取当前北京时间]免费API接口教程
android·网络·后端·网络协议·tcp/ip