【JavaWeb】之Http协议

【JavaWeb】Http协议

  • 前言
  • 一、什么是HTTP
  • 二、Http请求
    • 1.请求行
    • 2.请求头部
    • 3.请求体
  • 三、Http响应
    • 1.响应状态码
    • 2.响应头
    • 3.响应体
  • 后记


前言

本文为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.请求行

以访问百度为例:
【JavaWeb】之Http协议_第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全栈学习技术清单~

你可能感兴趣的:(Java全栈,http,java)