Http和Web Socket

一、http

http是一个超文本传输协议,http主要是用于客户端向服务端发送请求。当客户端向服务端发送请求时会有4个过程:客户端与服务端连接、客户端向服务端发送请求、服务端接受请求,并且返回响应、客户端和服务端断开连接。

Http发送请求的种类有8种:POST、GET、DELETE、PUT、HEAD、TRACE、OPTIONS、 CONNECT。
1)DELETE:向服务器发送请求,删除指定的页面。
2)HAED:返回的响应没有具体的内容,用于获取报头。
3)PUT:当客户端向服务端传送的数据取代指定的文档内容。

POST和GET请求的区别。
4)POST:向资源提交数据进行请求处理,数据被包含再请求体种。
优点:
1.数据长度理论上是没有限制的,可以上传图片。
2.可以隐藏请求信息,比较安全。
5)GET:向指定网页发送请求,并且返回消息。
缺点:
1.数据长度是有限制的,请求信息不能超过1K,不能上传图片。
2.不安全。

HTTP的优点:
1 简单方便
2 无状态。每次请求是独立的和其他的请求无关
3 灵活。

二、Web Socket

Web socket是全双工通道的协议。客户端向服务端发送请求连接一次,就可以创建持久性连接,就可以双向进行数据传输。客户端可以向服务端发送请求,服务端也可以向客户端发送请求。

三、Session

Session是将用户信息存储在服务端。客户端在访问服务端,而服务端会通过创建Session去保存用户状态信息,存储在服务端。在服务端会有一个SissionId和session相关,当客户端去访问服务端的请求信息不包含SessionId,服务端就会在次创建一个SessionId,并且把SessionId通过Cookie返回给客户端,让Cookie进行保存。如果客户端禁用Cookie,则可以通过URL重写传给服务端。

四、Cookie

Cookie主要是将用户信息保存在客户端。Cookie是一个较小的文本信息,客户端通过访问服务端,服务端向客户端返回Cookie,记录用户的状态。当客户端在次访问服务端时就可以把Cookie带到服务端去验证。

[参考](https://www.cnblogs.com/wmyskxz/p/9056776.html)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Servlet和WebSocket都是Java Web开发中常用的技术。 Servlet是一种运行在Web服务器上的Java程序,用于处理HTTP请求和响应。Servlet可以接收HTTP请求,并根据请求的类型执行相应的逻辑。开发人员可以通过继承Servlet类来编写自己的Servlet,也可以通过注解的方式将Servlet映射到特定的URL路径。 WebSocket是一种实现了双向通信的网络协议,它可以在浏览器和服务器之间建立持久连接,并且可以在任意时刻进行数据交换。相比于传统的HTTP请求响应模型,WebSocket具有更低的延迟和更高的实时性,适合用于实时通信和数据推送场景。 在Java Web开发中,开发人员可以使用Java WebSocket API来实现WebSocket功能,也可以使用第三方的WebSocket库来简化开发。在使用WebSocket时,通常需要在服务器端实现一个WebSocket端点(WebSocket Endpoint),用于接收和处理WebSocket连接的请求,并且可以通过Session对象与客户端进行通信。 ### 回答2: Servlet和WebSocket是Java用于开发Web应用程序的两种技术。 Servlet是Java编写的服务器端程序,用于接收和处理来自客户端的HTTP请求,并生成响应返回给客户端。Servlet通常用于动态生成HTML页面或处理来自表单的数据。它可以接受客户端的请求参数,读取和写入Session的数据,并与数据库进行交互。Servlet可以在Web容器中运行,如Tomcat或Jetty。 WebSocket是一种在Web应用程序中实现实时双向通信的协议。它允许服务器主动向客户端推送消息,并允许客户端向服务器发送消息。相比于传统的HTTP请求-响应模式,WebSocket在单个连接上提供持久的双向通信。它使用了更轻量的协议和更小的数据包,从而减少了服务器和客户端之间的通信开销。WebSocket可以用于实时的聊天应用程序、实时协作工具、多人在线游戏等。 与Servlet相比,WebSocket提供了更实时的通信能力,并且可以在服务端主动推送数据给客户端。Servlet只能在客户端发送请求时才能进行响应。另外,WebSocket可以通过保持连接状态来节省网络带宽和服务器资源,而Servlet每次请求和响应都需要建立和关闭连接。但是,由于WebSocket是一种新的技术,需要浏览器和服务器的支持。一些较旧的浏览器可能不支持WebSocket,因此在开发Web应用程序时需要考虑兼容性问题。 综上所述,Servlet和WebSocket都是用于开发Java Web应用程序的技术,Servlet用于处理HTTP请求和生成响应,而WebSocket实现了实时的双向通信,提供了更实时的通信能力。两者在不同场景下可以互补使用,根据具体的需求选择合适的技术。 ### 回答3: Servlet是Java编程语言的一个标准,用于服务器端编程。它允许开发人员在服务器上处理客户端请求和生成动态网页。Servlet运行在Web容器中,与Web服务器协作,如Apache Tomcat。Servlet通过HTTP协议接收和响应客户端请求,并具有处理表单数据、访问数据库、生成动态网页等功能。 Web Socket是HTML5规范的一部分,它提供了一种在Web浏览器和服务器之间进行实时双向通信的机制。与传统的HTTP请求-响应模型不同,Web Socket允许服务器主动向客户端发送消息,而不需要客户端发起请求。这使得实时的、互动式的应用程序变得更容易开发和实现。 Servlet和Web Socket在不同的场景中有不同的用途。Servlet适用于传统的请求-响应模型,通过处理客户端请求来生成动态网页或提供服务。Servlet可以处理各种类型的HTTP请求,如GET、POST等,并能够以客户端需求为基础生成动态内容。 Web Socket则更适合实时的、互动式的应用程序,如聊天应用、在线游戏等。与Servlet不同,Web Socket建立起的是一个持久的连接,服务器和客户端之间可以随时互相发送消息。这种双向通信机制使得实时性要求较高的应用程序变得更为简单。 综上所述,Servlet和Web Socket是两种不同的技术,适用于不同的场景。Servlet用于处理传统的请求-响应模型,生成动态网页或提供服务;而Web Socket用于实现实时的、双向通信的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值