当前位置:首页 > Web开发 > 正文

HTTP三点注意事项: HTTP是 无连接 :无连接的含义是限制每次连接只处理一个请求

2024-03-31 Web开发

(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必需遵守这个标准。

 HTTP是一个基于TCP/IP通信协议来通报数据(HTML 文件, 图片文件, 盘问功效等)。

HTTP 事情道理

HTTP协议事情于客户端-处事端架构上。浏览器作为HTTP客户端通过URL向HTTP处事端即WEB处事器发送所有请求。

Web处事器有:Apache处事器,IIS处事器(Internet Information Services)等。

Web处事器按照接收到的请求后,,向客户端发送响应信息。

HTTP默认端标语为80,但是你也可以改为8080或者其他端口。

HTTP三点注意事项:

HTTP是无连接:无连接的含义是限制每次连接只措置惩罚惩罚一个请求。处事器措置惩罚惩罚完客户的请求,并收到客户的应答后,即断开连接。给与这种方法可以节省传输时间。

HTTP是媒体独立的:这意味着,只要客户端和处事器知道如何措置惩罚惩罚的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及处事器指定使用适合的MIME-type内容类型。

HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对付事务措置惩罚惩罚没有记忆能力。缺少状态意味着如果后续措置惩罚惩罚需要前面的信息,则它必需重传,这样可能导致每次连接传送的数据量增大。另一方面,在处事器不需要先前信息时它的应答就较快。

HTTP状态码

当浏览者访谒一个网页时,浏览者的浏览器会向网页地址处事器发出请求。当浏览器接收并显示网页前,此网页地址的处事器会返回一个包罗HTTP状态码的信息头(server header)用以响应浏览器的请求。

HTTP状态码的英文为HTTP Status Code。

下面是常见的HTTP状态码:

200 - 请求告成

301 - 资源(网页等)被永久转移到其它URL

404 - 请求的资源(网页等)不存在

500 - 内部处事器错误

技术图片

时间戳

什么是时间戳

一个能暗示一份数据在某个特按时间之前已经存在的、 完整的、 可验证的数据,凡是是一个字符序列,独一地标识某一刻的时间

它能用来干什么

版本更新,解决浏览器缓存

防盗链

根本防盗链

根本防盗链主要是针对客户端请求过程中所携带的一些关键信息来验证请求的合法性, 好比客户端请求IP,请求URL中携带的referer。长处是法则简单,配置和使用都很便利,错误谬误是防盗链所依赖的验证信息很多都是可以伪造的,因此此类防盗链可靠性较低。

Java代码手段防备犯警请求,思路如下:
1.获取到当前请求的域名,如
2.获取到请求资源的上一个地点
3.判断上一个地点是否为空,如果为空代表的是直接访谒的资源,犯警
还有一种情况就是B项目访谒时上一个地点 不是资源地址地点,犯警

新建一个过滤器,实现逻辑,如果犯警例显示图像,拦截return ,否则放行 public class ImageFilter implements Filter{ @Override public void destroy() { System.out.println("过滤器销毁"); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("dofilter"); //获取到当前请求的连接地点和上一个发送请求的地点 HttpServletRequest httprequest=(HttpServletRequest)request; HttpServletResponse httpresponse=(HttpServletResponse)response; //获取上一个发送请求的连接 String referer = httprequest.getHeader("Referer"); String serverName = httprequest.getServerName(); System.out.println(referer+"\t"+serverName); if(referer==null||!referer.contains(serverName)) { request.getRequestDispatcher("/img/ffqq.png").forward(request, response); return; } //放行 chain.doFilter(request, response); } @Override public void init(FilterConfig arg0) throws ServletException { System.out.println("过滤器启动"); } } web.xml配置过滤地点: <filter> <filter-name>imgFilter</filter-name> <filter-class>com.wdksoft.ImageFilter</filter-class> </filter> <filter-mapping> <filter-name>imgFilter</filter-name> <url-pattern>/img/*</url-pattern> </filter-mapping> 

Referer在HTTP协议里有特殊的用途,当浏览器向处事器发送请求时,一般会带上

Referer头,奉告处事器该请求是从哪个页面链接过来的。Referer经常被用于页面访谒统计、图片防盗链等。

流媒体直播同样撑持Referer防盗链,当请求发送到CDN处事器后,CDN处事器查抄客户URL中所携带的Referer字段的信息,禁止或者允许切合特定法则(撑持正则匹配)的

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30576.html