蓝旭预习博客6:网络请求

目录

HTTP协议

HTTP组成

HTTP请求方法

响应报文 

Json

概述

JSON 的基本结构

JSON 的使用场景

在 JavaScript 中使用 JSON


HTTP协议

HTTP(Hypertext Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议,是客户端和服务器之间请求-响应的标准。HTTP请求是客户端(如浏览器)向服务器发送消息,请求获取资源的一种方式。

HTTP组成

HTTP请求主要由请求行(request line)、请求头部(request headers)和请求体(request body)三部分组成。

请求行包含了HTTP方法(如GET、POST等)、请求的URI(统一资源标识符)和HTTP版本。

<HTTP方法> <URI> <HTTP版本>

请求头部包含了关于请求的元信息,如客户端类型、可接受的响应格式等。

<头部字段名>:<头部字段值>

请求体通常出现在POST或PUT请求中,包含了发送给服务器的数据。

HTTP请求方法

HTTP定义了几种请求方法,每种方法都对应着一种特定的行为:

  • GET:请求获取指定的资源。
  • POST:提交数据到指定的资源,请求服务器进行处理(如提交表单或上传文件)。
  • PUT:上传指定的资源到服务器。
  • DELETE:请求服务器删除指定的资源。
  • HEAD:类似于GET请求,但只返回响应头,不返回实际数据。

在Java中,我们可以使用java.net.http.HttpClient来发送HTTP请求:

import java.net.URI;  
import java.net.http.HttpClient;  
import java.net.http.HttpRequest;  
import java.net.http.HttpResponse;  
import java.io.IOException;  
import java.net.URISyntaxException;  
  
public class HttpGetRequestExample {  
    public static void main(String[] args) {  
        HttpClient client = HttpClient.newHttpClient();  
        HttpRequest request = HttpRequest.newBuilder()  
                .uri(URI.create("https://www.example.com"))  
                .header("User-Agent", "Java HttpClient Bot")  
                .GET()  
                .build();  
  
        try {  
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());  
            System.out.println("Status Code: " + response.statusCode());  
            System.out.println("Response Body: " + response.body());  
        } catch (IOException | InterruptedException e) {  
            e.printStackTrace();  
        }  
    }  
}

响应报文 

HTTP 响应与 HTTP 请求相似,HTTP响应也由3个部分构成,分别是:

  • 状态行
  • 响应头(Response Header)
  • 响应正文

常见的状态码有如下几种:

  • 200 OK 客户端请求成功
  • 301 Moved Permanently 请求永久重定向
  • 302 Moved Temporarily 请求临时重定向
  • 304 Not Modified 文件未修改,可以直接使用缓存的文件。
  • 400 Bad Request 由于客户端请求有语法错误,不能被服务器所理解。
  • 401 Unauthorized 请求未经授权。这个状态代码必须和WWW-Authenticate报头域一起使用
  • 403 Forbidden 服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因
  • 404 Not Found 请求的资源不存在,例如,输入了错误的URL
  • 500 Internal Server Error 服务器发生不可预期的错误,导致无法完成客户端的请求。
  • 503 Service Unavailable 服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。

Json

概述

在现代软件开发中,数据的交换和存储变得日益重要。为了在各种应用程序和系统之间高效、准确地传递数据,我们需要一种可靠且易于理解的数据格式。JSON(JavaScript Object Notation,JavaScript 对象表示法)正是这样一种轻量级的数据交换格式,它易于阅读和编写,同时也易于机器解析和生成。

JSON 的基本结构

JSON 的基本结构基于两种类型的数据结构:

1.对象:一个无序的键值对集合,用花括号 {} 包围。每个键值对之间用逗号 , 分隔。键(key)必须是字符串,通常用双引号 "" 包围;值(value)可以是字符串、数字、对象(即嵌套对象)、数组、布尔值 true 或 false,或者 null

{  
  "name": "John Doe",  
  "age": 30,  
  "isStudent": false,  
  "address": {  
    "street": "123 Main St",  
    "city": "Anytown"  
  }  
}

2.数组:有序的值集合,用方括号 [] 包围。数组中的每个值可以是任意 JSON 数据类型(包括对象或数组)。

[  
  "apple",  
  "banana",  
  {  
    "name": "cherry",  
    "color": "red"  
  }  
]

JSON 的使用场景

JSON 因其简洁性和通用性而被广泛应用于各种场景:

  • Web 服务:JSON 是 RESTful API 中最常用的数据格式,用于在客户端和服务器之间传输数据。
  • 配置文件:由于 JSON 易于阅读和理解,它常被用作应用程序的配置文件。
  • 数据存储:JSON 可以作为轻量级的数据存储格式,用于文件或数据库中的记录。
  • 消息传递:在实时通信或消息队列系统中,JSON 可以作为消息的有效载荷。

在 JavaScript 中使用 JSON

在 JavaScript 中,JSON 的处理非常简单。JavaScript 提供了两个内置函数用于解析和生成 JSON 数据:

  • JSON.stringify(value): 将 JavaScript 对象或值转换为 JSON 字符串。
  • JSON.parse(jsonString): 将 JSON 字符串解析为 JavaScript 对象或值。
// 将 JavaScript 对象转换为 JSON 字符串  
const obj = { name: "John", age: 30 };  
const jsonString = JSON.stringify(obj);  
console.log(jsonString); // 输出: {"name":"John","age":30}  
  
// 将 JSON 字符串解析为 JavaScript 对象  
const parsedObj = JSON.parse(jsonString);  
console.log(parsedObj.name); // 输出: John

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值