http协议,http是什么协议?

2020-04-22 13:05:46 java常见问答 8957

像很多接触过类似于java软件开发,或者说于网络相关的一些其他工作的小伙伴,对于http协议应该是不陌生的,但是还有不少朋友可能对http协议比较感兴趣,那么下面呢,小编就带有兴趣了解的小伙伴一起来看看吧。

HTTP(Hyper Text Transfer Protocol)超文本传输协议的英文缩写。它是用于从WWW服务器传输超文本到本地浏览器的一种传输协议。HTTP它是一个应用层协议,由请求和响应构成,是一个标准的个客户端和服务器模型。它的主要特点如下所示:

支持客户端/服务器模型。

简单快速。客户向服务器发送请求时,只需要传送请求的方法和路径。请求方法常用的呢,有GET、HEAD、POST。每种方法规定了客户跟服务器联系的类型不同。因为HTTP协议简单,这就使得HTTP服务器的程序规模较小,因而通信的速度会很快。

灵活。HTTP允许传输任意类型的数据对象。

无连接。无连接的含义其实是限制每次连接只用来处理一个请求。服务器处理完客户端的请求,然后去响应,并且收到应答之后,就断开连接.这种方式可以节省传输时间。提高效率。

无状态。HTTP协议是无状态协议。无状态是指协议对于事务处理是没有记忆能力的,这种方式的一个缺点就是,如果后续的处理需要用到之前的信息,就必须要重传,这样就导致了每次连接传输的数据量增大。优点就是,如果后续的连接不需要之前提供的信息,响应就会比较快。而为了解决HTTP的无状态特性,就出现了Cookie和Session技术。

下面就来介绍一下HTTP协议request常见的方法,请求行的首部常用的方法。

GET,当客户端要从服务器上读取文档,在点开某个链接的时候,或者是通过浏览器上输入网址来浏览网页的时候,使用的都是GET方法。GET方法请求参数和对应的值都是附加在URL后面的,用一个?代表URL的结尾以及附带参数的开始,参数用key=value键值对的方式书写,参数和参数之间用&符号隔开。一般GET请求的参数的大小受限,最大不超过1024。由于参数明文的显示在了URL上面,因此不太适合传递私密的数据。

POST方法将请求的参数封装在了HTTP请求的请求体里面,以名称/值的形式出现,可以传输大量的数据。POST请求一般用于表单数据的提交中.

GET和POST的区别。从参数的传递方面来看,GET请求的参数是直接拼接在地址栏URL的后面,而POST请求的参数是放到请求体里面的。

从长度限制方面来看,GET请求有具体的长度限制,一般不超过1024KB,而POST理论上没有,但是浏览器一般都有一个界限。

从安全方面来看,GET请求相较于POST,因为数据都是明文显示在URL上面的,所以安全和私密性不如POST。

从本质上来说,GET和POST都是TCP连接,并没有实质的区别。但是由于HTTP/浏览器的限定,导致它们在应用过程中体现出了一些不同。GET产生一个数据包,POST产生两个数据包。对于GET请求,浏览器会把http header和data一并发出去,服务器响应200(返回数据).而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 。

HEAD就像GET,只是服务端接受到HEAD请求后只返回响应头,而不会发送响应内容。所以当我们需要查看某个页面的状态的时候,使用HEAD是非常高效的,因为在传输的过程中省去了响应内容部分。

那么以上就是有关http协议的所有内容了,还想了解更多java一些知识问答,记得关注本站最新消息。