JavaWeb-HTTP协议

4、HTTP

4.1、什么是HTTP

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

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

4.2、两个时代

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

4.3、HTTP请求

  • 客户端—发请求—服务器

百度:

1
2
3
4
请求网址: https://www.baidu.com/    请求地址
请求方法: GET get方法、post方法
状态代码: 200 OK 状态码:200
远程地址: 110.242.68.4:443
1
2
3
4
5
Accept:text/html
Accept-Encoding: gzip, deflate, br 编码
Accept-Launguage:zh-CN,zh;q=0.9 语言
Cache-Control:max-age=0
Connection: keep-alive 连接

1、请求行

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

2、消息头

1
2
3
4
5
6
7
Accept: 告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式
Accept-Launguage:告诉浏览器它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
HOST:主机
......

4.4、HTTP响应

  • 服务器—响应—客户端

百度:

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

1、响应体

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

2、响应状态码

200:请求响应成功

3××:请求重定向

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

4××:找不到资源 404

  • 资源不存在

5××:服务器代码错误 500

  • 502:网关错误

常见面试题:

当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么?

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2022-2024 归一
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信