狂神说Java Web学习笔记_HTTP

HTTP详解

HTTP

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。

  • 文本:html,字符串….
  • 超文本:图片,音乐,视频,定位,地图…….
  • 默认端口:80

HTTPS

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。

  • 默认端口:443

两个时代

  • http1.0
    • HTTP/1.0:客户端与web服务器连接后,只能获得一个web资源。
  • http2.0
    • HTTP/1.1:客户端与web服务器连接后,可以获得多个web资源。

Http请求

客户端------发请求(Request)-----服务器

HTTP 请求报文由 3 大部分组成:
请求行(必须在 HTTP 请求报文的第一行)
请求头(从第二行开始,到第一个空行结束。请求头和请求体之间存在一个空行)
请求体(通常以键值对 {key:value}方式传递数据)

General

Request URL: https://www.baidu.com/   请求地址
Request Method: GET                   请求方式,一般是GET/POST
Status Code: 200 OK                   状态码:200表示成功,404表示没有找到资源,500表示服务器错误
Remote Address: 36.152.44.96:443      远程地址
Referrer Policy: strict-origin-when-cross-origin
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8
Cache-Control: private
Connection: keep-alive

请求行(request line)

  • 请求方式:GET, POST, HEAD, DELETE, PUT, TRACT
    • GET: 请求能都携带的参数比较少,大小没有限制,会在浏览器的URL地址栏显示数据内容,不安全,但是高效。
    • POST:请求能够携带的参数没有限制,大小没有限制,不会在浏览器URL地址栏中显示数据内容,安全,但不高效。

消息头

Accept: 告诉浏览器,它所支持的数据类型
Accept-Encoding: 支持哪种编码格式  GBK UTF-8
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接

Http响应

服务器-----响应-----客户端

Response Headers

Cache-Control: private      缓存控制
Connection: keep-alive      连接
Content-Encoding: gzip      编码
Content-Type: text/html;charset=utf-8

HTTP请求的完全过程:https://blog.csdn.net/ailunlee/article/details/90600174

响应体

Accept:告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language:告诉浏览器,它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
HOST:主机
Refresh:告诉客户端,多久刷新一次;
Location:让网页重新定位;

响应状态码

200:请求响应成功

3xx:请求重定向

  • 重定向:你重新到我给你的位置去。

4xx:找不到资源

  • 404

5xx:服务器代码错误

  • 500
  • 502 网关错误
posted @ 2024-04-07 22:51  growingbambi  阅读(24)  评论(0编辑  收藏  举报