http协议(一)

 欢迎来到南方有乔木的博客!!!


博主主页:点击点击!戳一戳!!

博主名:南方有乔木

博主简介:

一名在校大学生,正在努力学习Java语言编程。穷且意坚,不坠青云之志,希望能在编程的世界里找到属于自己的光。

跪谢帅气or美丽的朋友们能够帮我点赞! 请对文中内容请多多指教!!!

 

目录

一.什么是http协议

二.http请求与http响应

三.认识URL

四.http的方法

1.GET方法

2.POST方法

3.GET和POST的不同


一.什么是http协议

http协议叫做超文本传输协议(超文本代表的不仅仅是文本,还有其他比如html或者图片,视频等其他数据格式),是一种应用广泛的应用层协议,用于在客户端和服务端之间传输数据。

http协议是基于请求-响应模型实现的,客户端向服务器发送http请求,服务器向客户端返回响应的http响应。

比如,我们要打开一个网站,也是使用http传输数据。我们输入百度网址。“http://www.baidu.com”,再点击搜索,这个时候,我们就相当于客户端向服务器发送了一个请求百度网站的的请求,那么服务器返回响应,就会返回一个百度网站的相关界面。

http是基于TCP协议实现的,我们平常使用的http协议主要版本主要是http1.1和http2.0

二.http请求与http响应

可以在浏览器中按快捷键crtl+shift+I调出开发者工具,在network栏中可以看到每一个http请求,请求一次百度网站,有很多的http请求,有的请求图片,有的请求其他数据,视频等

http协议(一)_第1张图片

我们使用一个http抓包工具Fiddler来看一下具体的一个具体http请求。

http协议(一)_第2张图片

 如图就是使用Fiddler抓包工具获取的一个http请求,首行是请求首行,中间是请求报头,然后有一个空格行,空格行之后是请求正文

请求行:方法+URL+http版本号

请求报头(header):许多个key:value形式的请求属性的描述

空行:可以看做请求报头和请求正文的分割符

请求正文(body):body部分里是请求正文,我的截图这里请求正文是为空的。

http协议的响应和请求差不多格式是一样的,只不过首行是

首行:版本号+状态码+状态码描述

http协议(一)_第3张图片

三.认识URL

URL是叫做统一资源定位符,我们一般情况下说的网址就是URL。

互联网的每一个文件都对应着一个URL,

url的组成:

协议方案名+登录信息+服务器地址+端口号+带层次的文件路径+片段标识符

一个具体的URL

5db048561cf64af890f4545499fe77a2.jpg

不过现在的URL省略了很多部分,比如:

省略协议名

省略端口号

省略带层次的文件路径

省略查询字符串

省略片段标识符

四.http的方法

http支持很多的方法,现在用的最多的是GET和POST方法。

http协议(一)_第4张图片

1.GET方法

GET方法是htpp最常用的一种方法,可以用来获取服务器上的某个资源。

GET方法请求:

1.首行是GET请求

2.查询字符串query string可以为空也可以不为空

3.请求正文是为空

4.请求报头header有多个key-value结构

2.POST方法

POST方法也是http常用的方法之一。适用于将用户的输入数据提交给服务器。

POST方法请求:

1.首行为POST

2.与GET不同的是它的请求正文部分body,一般是不为空的。

3.请求报头:header部分是key-value类型的键值对。

4.查询字符串query string一般为空

3.GET和POST的不同

1.GET一般用于获取数据,POST一般用于提交数据

2.GET 的正文body一般为空,需要传递的数据通过query string查询字符串传递。

POST的query string查询字符串一般为空,需要传递的数据通过body正文传递。

3.GET 请求一般是幂等的,POST请求一般不是幂等的。(幂等:如果多次请求的结果一样,就成为幂等)

4.GET可以被缓存,POST不能被缓存。


 

你可能感兴趣的:(java,网络协议,http,后端)