15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > Java开发工程师系列讲解之——『http协议篇』

Java开发工程师系列讲解之——『http协议篇』

时间:2023-06-24 10:15:01 | 来源:网站运营

时间:2023-06-24 10:15:01 来源:网站运营

Java开发工程师系列讲解之——『http协议篇』:作为一个软件开发的程序员,那么你肯定知道网络的三大剑客:IP地址、端口号、协议。




简单介绍下这三位:










如图所示:




我们经常接触到的应用基本上都是处于上面的层,即传输层和应用层;




传输层协议主要为TCP、UDP协议,目前主要应用于即时通讯,例如:QQ、微信、直播、消息推送等。




应用层协议主要由做普通应用和网站的协议http和https,邮件协议SMTP等。这篇文章我们就来介绍下我们做应用基本上必须接触的http协议。




HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。它是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。所有的WWW文件传输都都必须遵守这个标准。




HTTP是一个应用层的面向对象的协议,由于其简单、快速、灵活等特点特别适用于分布式超媒体信息系统。




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




灵活:HTTP允许传输任意类型的数据对象。传输的类型由Content-Type决定。




无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。




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




支持B/S和C/S模式。




Http协议由Http请求和Http响应组成,当在浏览器中输入网址访问某个网站时,你的浏览器会将你的请求封装成一个Http请求发送给服务器站点,服务器接收到请求后会组织响应数据封装成一个Http响应返回给浏览器。即没有请求就没有响应。










HTTP请求由请求行、请求头和请求体三部分组成;

我们写一个form.html的表单页面,如图:




点击提交按钮,抓包如图:




① 请求行

请求行主要包括了请求的方法、请求的资源、协议版本等信息;这里主要我们来看看请求方法;

http请求的方法有多种,其中最常用的就是get和post请求了。

Get和POST请求的区别

首先说明下get和post请求底层都是TCP连接,所以本质一样,但是由于 HTTP 的规定以及浏览器/服务器的限制导致它们在应用过程中有所不同:







② 请求头

请求头是客户端发送给服务器端的一些信息,服务器端就可以通过请求的各种信息完成指定的操作,请求头中的信息使用键值对的方式表示。







③ 请求体

请求体就是我们发送请求传递的数据。

如果是get请求那么数据会拼接在url地址后面,如:

http://localhost:8080...?username=zhangsan&password=123

参数传递格式为:key=value & key2=value2 ...




如果是Post请求的话,url地址上是看不到的,但是在“检查”模式下是可以看到的。




HTTP响应指的是我们请求服务器之后,服务器返回的内容,主要由响应行、响应头、响应体组成;







① 响应行

响应行中最主要的信息就是响应码了,通过响应码我们可以知道请求是成功了还是失败了以及其他情况。

常用状态码如下:

② 响应头

响应头也都是键值对形式,服务器端将信息以键值对的形式返回给客户端。

③ 响应体

响应体是服务器回写给客户端的页面正文,浏览器将正文加载到内存,然后解析渲染显示页面内容。通常响应体的内容格式为网页或者JSON格式,如图所示。




后面的文章我们将介绍下https协议的不同非凡之处。

【未完待续...】



关键词:协议,讲解,系列,工程师

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭