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
相关推荐
HinsCoder22 分钟前
【渗透测试】——Upload靶场实战(1-5关)
笔记·学习·安全·web安全·渗透测试·测试·upload靶场
时之彼岸Φ24 分钟前
Web:HTTP包的相关操作
网络·网络协议·http
听风若依24 分钟前
排序学习笔记
笔记·学习
秋已杰爱25 分钟前
HTTP中的Cookie与Session
服务器·网络协议·http
W215526 分钟前
LINUX网络编程:http
网络·网络协议·http
Filotimo_29 分钟前
【自然语言处理】实验三:新冠病毒的FAQ问答系统
人工智能·经验分享·笔记·python·学习·自然语言处理·pycharm
Rookie也要加油1 小时前
WebRtc一对一视频通话_New_peer信令处理
笔记·学习·音视频·webrtc
liangbm32 小时前
MATLAB系列09:图形句柄
图像处理·笔记·计算机视觉·matlab·matlab绘图·工程基础·图形句柄
liangbm32 小时前
MATLAB系列05:自定义函数
开发语言·笔记·matlab·教程·函数·自定义函数·按值传递
DieSnowK3 小时前
[项目][WebServer][Makefile & Shell]详细讲解
开发语言·c++·http·makefile·shell·项目·webserver