欢迎来到南方有乔木的博客!!!
博主主页:点击点击!戳一戳!!
博主名:南方有乔木
博主简介:
一名在校大学生,正在努力学习Java语言编程。穷且意坚,不坠青云之志,希望能在编程的世界里找到属于自己的光。
跪谢帅气or美丽的朋友们能够帮我点赞! 请对文中内容请多多指教!!!
目录
一.什么是http协议
二.http请求与http响应
三.认识URL
四.http的方法
1.GET方法
2.POST方法
3.GET和POST的不同
http协议叫做超文本传输协议(超文本代表的不仅仅是文本,还有其他比如html或者图片,视频等其他数据格式),是一种应用广泛的应用层协议,用于在客户端和服务端之间传输数据。
http协议是基于请求-响应模型实现的,客户端向服务器发送http请求,服务器向客户端返回响应的http响应。
比如,我们要打开一个网站,也是使用http传输数据。我们输入百度网址。“http://www.baidu.com”,再点击搜索,这个时候,我们就相当于客户端向服务器发送了一个请求百度网站的的请求,那么服务器返回响应,就会返回一个百度网站的相关界面。
http是基于TCP协议实现的,我们平常使用的http协议主要版本主要是http1.1和http2.0
可以在浏览器中按快捷键crtl+shift+I调出开发者工具,在network栏中可以看到每一个http请求,请求一次百度网站,有很多的http请求,有的请求图片,有的请求其他数据,视频等
我们使用一个http抓包工具Fiddler来看一下具体的一个具体http请求。
如图就是使用Fiddler抓包工具获取的一个http请求,首行是请求首行,中间是请求报头,然后有一个空格行,空格行之后是请求正文
请求行:方法+URL+http版本号
请求报头(header):许多个key:value形式的请求属性的描述
空行:可以看做请求报头和请求正文的分割符
请求正文(body):body部分里是请求正文,我的截图这里请求正文是为空的。
http协议的响应和请求差不多格式是一样的,只不过首行是
首行:版本号+状态码+状态码描述
URL是叫做统一资源定位符,我们一般情况下说的网址就是URL。
互联网的每一个文件都对应着一个URL,
url的组成:
协议方案名+登录信息+服务器地址+端口号+带层次的文件路径+片段标识符
一个具体的URL
不过现在的URL省略了很多部分,比如:
省略协议名
省略端口号
省略带层次的文件路径
省略查询字符串
省略片段标识符
http支持很多的方法,现在用的最多的是GET和POST方法。
GET方法是htpp最常用的一种方法,可以用来获取服务器上的某个资源。
GET方法请求:
1.首行是GET请求
2.查询字符串query string可以为空也可以不为空
3.请求正文是为空
4.请求报头header有多个key-value结构
POST方法也是http常用的方法之一。适用于将用户的输入数据提交给服务器。
POST方法请求:
1.首行为POST
2.与GET不同的是它的请求正文部分body,一般是不为空的。
3.请求报头:header部分是key-value类型的键值对。
4.查询字符串query string一般为空
1.GET一般用于获取数据,POST一般用于提交数据
2.GET 的正文body一般为空,需要传递的数据通过query string查询字符串传递。
POST的query string查询字符串一般为空,需要传递的数据通过body正文传递。
3.GET 请求一般是幂等的,POST请求一般不是幂等的。(幂等:如果多次请求的结果一样,就成为幂等)
4.GET可以被缓存,POST不能被缓存。