系列文章总结
【计算机网络基础——系列1】-matlab与python使用socket udp进行进程间通信
【计算机网络基础——系列2】-matlab与python使用socket tcp进行进程间通信
【计算机网络基础——系列3】输入url后页面会遇到的问题
【计算机网络基础——系列4】关于HTTP请求的相关内容
【计算机网络基础——系列5】前端遇到的三种网络攻击
【计算机网络基础——系列6】浏览器缓存之cookie、session、localstorage
【计算机网络基础——系列7】浏览器缓存之—http缓存
【计算机网络基础——系列8】前端优化总结
【计算机网络基础——系列9】restful规范;dns劫持
【计算机网络基础——系列10】osi网络结构;tcp协议保持传输的可靠性;SSL
【计算机网络基础——系列11】实现python作为服务端与qt进行udp通信
文章目录
前言
HTTP是指超文本传输协议,基于应用层并且用于客户端和服务器通信;请求访问文本或图像资源的一端统称为客户端,提供资源响应的一端称为服务器。
提示:以下是本篇文章正文内容,下面案例可供参考
一、http请求
1.请求行
格式:请求方式、请求url、请求协议/版本
请求方式:GET、POST、PUT、Delete、OPTIONS、TRACE、CONNECT
POST | GET |
---|---|
请求参数在请求体中,请求url长度无限制,相对安全 | 请求参数在请求行中,请求url长度有限制,不太安全 |
2.请求头:
Accept:text/html application/xml 告诉服务器客户端浏览器这边可以出里什么数据;
accept-language:告诉服务器浏览器支持的语言
Cache-control:告诉服务器是否缓存
Connection:keep-alive :告诉服务器当前保持活跃(与服务器处于长链接状态)
Host:远程服务器的域名
User-agent:客户端的一些信息,浏览器信息版本
referer:当前页面上一个页面地址。一般用于服务器判断是否为同一个域名下的请求
Host: localhost
Connection: keep-alive
Content-Length: 16
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4023.0 Safari/537.36 Edg/81.0.396.0
Origin: http://localhost
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: http://localhost/login.html
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
3.请求体:
get无请求体,Post有请求体,请求体即为整数传输的数据
4.具体的请求内容:
二、http各请求方式的区别:
前面已经讲了post与get的区别,下面讲其他的方式的区别:
1.head与get的区别:
head只返回响应头,get除了返回响应头还会返回请求的实体数据。
head
可以判断某个资源是否存在
2.put与delete区别
put与post都会改变服务器的数据,put侧重于对数据更改,post侧重于数据增加。
delete用于删除服务器的资源
3.option
它用于获取当前URL所支持的方法。若请求成功,则它会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST”。
1、获取服务器支持的HTTP请求方法;
2、用来检查服务器的性能。例如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。
三、http常见状态码:
类别 | 原因短语 | |
---|---|---|
1XX | information(信息码) | 接受的请求正在处理 |
2XX | Sucess(成功状态码) | 请求处理完毕 |
3XX | Redirection(重定向状态码) | 需要进行附加操作完成请求 |
4XX | Client Error(客户出错误状态码) | 服务端无法处理请求 |
5XX | Server Error(服务器出错误状态码) | 服务器处理请求出错 |
> 常见的有:
> 200 ok:请求正常处理。
> 304 Not Modified:服务端允许请求访问资源,但请求未满足条件。
> 404 Not found :服务器上没有请求的资源,路径错误。
> 500 Internal Server Error:该状态码表明服务端在执行时发生错误。
四、http请求头过大的解决办法:
1. 将请求参数转而在请求体中设置:
例如:https://域名/user/upload?mobile=111111111111&img=XXXXXXXXXXXX
变换为这样:
body{
'mobile':'111111111111',
'img':'xxxxxxxxxxxxxxxxxx'
}
2. 在application中这样配置:
server.max-http-header-size=102400
码字不易~, 各位看官要是看爽了,可不可以三连走一波,点赞皆有好运!,不点赞也有哈哈哈~~~