JavaWeb——Http

4.1、什么是http

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

文本:无链接

超文本:利用超链接将普通文本的信息组织在一起的超级文本

4.2、http两个时代的区别
  1. 1.0时代:客户端与web服务器连接后,只能请求一个资源,然后断开连接
  2. 1.1时代:客户端向web服务器连接后,可以请求多个资源
4.3、http请求(以百度为例)

客户端--请求--服务器

常规

请求 URL: https://www.baidu.com/?tn=44048691_1_oem_dg
请求方法: GET
状态代码: 200 OK
远程地址: 36.152.44.96:443
引用站点策略: no-referrer-when-downgrade

请求

Accept: text/html  请求的数据类型
Accept-Encoding: gzip, deflate, br 阶码
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 语言
Cache-Control: max-age=0  缓存控制
Connection: keep-alive  是否保持连接
Host: www.baidu.com 主机
  1. 请求行:请求的域名端口号+请求方式

    • get:少量参数,大小有限制,传输速度快(在3G时代下),数据会在URL地址栏中显示,安全性低
    • post:多个参数,大小无限制,传输速度慢(在3G时代下,现在基本可以忽略),数据不会在URL地址栏中显示,安全性高

    消息头

    Accept   告诉浏览器,支持的数据类型
    Accept-Encoding  支持的编码格式
    Accept-Language  语言环境
    Cache-Control   缓存控制
    Conneciton   请求完成时断开还是保持连接
    
4.4、http响应

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

常规

请求 URL: https://www.baidu.com/?tn=44048691_1_oem_dg
请求方法: GET
状态代码: 200 OK
远程地址: 36.152.44.96:443
引用站点策略: no-referrer-when-downgrade

响应

Bdpagetype: 2
Bdqid: 0xe274578b0000447d
Cache-Control: private  缓存控制
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
  1. 响应体

    Accept   告诉浏览器,支持的数据类型
    Accept-Encoding  支持的编码格式
    Accept-Language  语言环境
    Cache-Control   缓存控制
    Conneciton   请求完成时断开还是保持连接
    Refresh  刷新间隔
    Location     让网页重新定位
    
  2. 响应状态码:

    • 200:请求响应成功
    • 3xx:请求重定向
    • 4xx(404):找不到资源
    • 5xx(500):服务器代码错误
原文地址:https://www.cnblogs.com/Arno-vc/p/13519454.html