前言
本文为JavaWeb之Http协议相关知识介绍,Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~
一、什么是HTTP
HTTP(超文本传输协议)是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。
文本:html,字符串,~ ….
超文本:图片,音乐,视频,定位,地图…….
端口:80
HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。
端口:443
二、Http请求
客户端——>发请求——>服务器
HTTP请求的完整地址:https://blog.csdn.net/qq_42146402/article/details/127346459
一个HTTP请求报文由3个部分组成:
- 请求行(request line)
- 请求头部(headers)
- 请求体(request body)
1.请求行
以访问百度为例:
Request URL:请求地址 Request Method:请求方式,一般是GET/POST Status Code:状态码:200表示成功,404表示没有找到资源,500表示服务器错误.... Remote Address:远程地址
请求行中的请求方式:GET
请求方式:GET,POST,HEAD,DELETE,PUT,TRACT…
GET:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但是高效
POST:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但是不高效
2.请求头部
Accept:告诉浏览器,它所支持的数据类型 Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1 Accept-Language:告诉浏览器,它的语言环境 Cache-Control:缓存控制 Connection:告诉浏览器,请求完成是断开还是保持连接 HOST:主机 ...
3.请求体
请求体是将一个页面表单中的组件值通过param1=value1¶m2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。不但报文体可以传递请求参数,请求URL也可以通过类似于“/chapter15/user.html? param1=value1¶m2=value2”的方式传递请求参数。
三、Http响应
服务器——>响应——>客户端
HTTP响应报文也由三部分组成:
响应状态码
响应头
响应体
1.响应状态码
200:请求响应成功
3xx:请求重定向
4xx:找不到资源 404资源不存在
5xx:服务器代码错误
2.响应头
HTTP响应中的常用响应头(消息头):
Accept:告诉浏览器,它所支持的数据类型 Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1 Accept-Language:告诉浏览器,它的语言环境 Cache-Control:缓存控制 Content-Type:text/html 类型 Content-Encoding:gzip 编码 Refresh:告诉客户端,多久刷新一次; Connection:告诉浏览器,请求完成是断开还是保持连接 HOST:主机..../. Location:让网页重新定位;
3.响应体
- 是服务器返回给客户端的文本信息。
后记
Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~