一、万维网的通信学习


WWW(World Wide Web)
世界范围内的,联机式的信息储藏所。

1、万维网解决了获取互联网上的数据时需要解决的以下问题:

(1)怎样标识分布在整个互联网上的文档  URL------万维网服务端如何区分请求的数据
(2)用什么样的协议实现万维网上的各种链接  HTTP-----万维网服务端与服务器之间如何通信
(3)怎么使用户能够方便的查看文档数据 HTML(超文本标记语言) ----浏览器端如何展示请求到的万维网数据

URL格式
统一资源定位符  表示从因特网上得到的资源位置和访问这些额资源的方法。

端口号可以省略;

路径:请求资源的具体路径

?后的是参数即条件

2.万维网客户端于服务器之间如何通信
HTTP协议

3.浏览器端如何展示请求的万维网数据
HTML文档:超文本标记语言

端口

HTTP:80/8080(备用端口)

HTTPS:443

二、HTTP

HyperText Transfer Protocol  超文本传输协议
HTTP:80 ---面向文本     HTTPS:443(加密)
定义了万维网客户端如何想万维网服务器请求万维网文档,以及服务器怎样把文档传给客户端。

(1).HTTP工作过程:
1)建立TCP连接
2)客户端向服务器发送HTTP请求报文
3)服务器向客户端发送HTTP响应报文
4)释放TCP连接=

(2).HTTP报文格式

请求报文(从客户端向服务器发送请求报文):请求行、消息报头、请求正文
响应报文(从服务器到客户的回答):状态行、消息报头、响应正文

HTTP是面向文本的,因此在报文中的每一个字段都是一些ASCII码串,各个字段的长度都是不确定的

(3).请求方式
GET     请求获取Request-URI所标识的资源
POST    在Request-URI所标识的资源后附加新的数据
HEAD    请求获取由Request-URI所标识的资源的响应消息报头
PUT      请求服务器存储一个资源,并用Request-URI作为其标识
DELETE  请求服务器删除Request-URI所标识的资源
TRACE   请求服务器回送收到的请求信息,主要用于测试或诊断
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
CONNECT 用于代理服务器

(4).状态码

1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求

200 OK      //客户端请求成功
400 Bad Request  //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权 
403 Forbidden  //服务器收到请求,但是拒绝提供服务
404 Not Found  //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

4.JSON格式
键值对的集合
(1)键值对    “关键字”:“字符串值”
(2)对象(集合)      {}
(3)对象数组  []     

5.函数接口
(1).char *strstr(const char *haystack, const char *needle);
功能:在源字符串中定位目标字符串
参数: haystack:源字符串首地址
            needle:目标字符串首地址
返回值:成功:定位到的目标字符串的首地址 ; 失败:NULL

(2).char *index(const char *s, int c);
功能:在一个字符串中定位一个字符
参数:s:源字符串
           c:需要定位的字符
返回值:成功:返回定位到字符的地址 ; 失败:NULL

响应标头

HTTP/1.1 200 OK Date: Wed, 23 Jul 2025 07:33:59 GMT Content-Type: text/html;charset=utf-8 Server: openresty Vary: Accept-Encoding Vary: Origin Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Trace-Id: 802100e5d5744cb6bba3fdf2ff8a6085.951.17532560398796951 Data-Source: X-Content-Type-Options: nosniff X-XSS-Protection: 0 S-REQ-ID: 159063873961547570 S-REQ-TYPE: 0 X-Cache-Lookup: Cache Miss Content-Encoding: gzip Cache-Control: no-cache Transfer-Encoding: chunked X-NWS-LOG-UUID: 159063873961547570 Connection: keep-alive X-Cache-Lookup: Cache Miss

请求标头

GET / HTTP/1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate 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 Cookie: SUV=1724151185440cesitz; gidinf=x099980109ee1956b7900e0080001b7b9f522cda0ff1; clt=1753254871; cld=20250723151431; reqtype=pc; _dfp=ZDmA0pQwxr24lgtMFaQG269FjIzJ0xyVW5vsDHNmhqo=; hideAddDesktop=true; t=1753255977242; beans_new_turn=%7B%22sohu-index%22%3A18%7D Host: news.sohu.com Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0

3.HTTP报文结构

从实体主体以下称正文,以上叫头部,分为请求行+首部行

请求行:请求方法 空格 URL 空格 版本号 CRLF(\n、\r,回车换行);

首部行:关键字 :值 \n \r

头部正文间隔\r\n;连着两个\r\n就是区分正文分隔符

响应报文:

状态行:版本 状态码 短语 CRLF(回车换行)

首部行:键值对

4.HTTP请求方法

5.状态码

        1xx:指示信息--表示请求已接收,继续处理
        2xx:成功--表示请求已被成功接收、理解、接受
        3xx:重定向--要完成请求必须进行更进一步的操作
        4xx:客户端错误--请求有语法错误或请求无法实现
        5xx:服务器端错误--服务器未能实现合法的请求

        200 OK      //客户端请求成功
        400 Bad Request  //客户端请求有语法错误,不能被服务器所理解
        401 Unauthorized //请求未经授权 
        403 Forbidden  //服务器收到请求,但是拒绝提供服务
        404 Not Found  //请求资源不存在,eg:输入了错误的URL
        500 Internal Server Error //服务器发生不可预期的错误
        503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

HTTP请求响应报文头和响应报文头

HTTP/1.1 200 OK Date: Wed, 23 Jul 2025 07:41:44 GMT Content-Type: text/html;charset=utf-8 Server: openresty Vary: Accept-Encoding Vary: Origin Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Trace-Id: 802100e5d5744cb6bba3fdf2ff8a6085.912.17532565044437885 Data-Source: X-Content-Type-Options: nosniff X-XSS-Protection: 0 S-REQ-ID: 12924683250015598730 S-REQ-TYPE: 0 X-Cache-Lookup: Cache Miss Content-Encoding: gzip Cache-Control: no-cache Transfer-Encoding: chunked X-NWS-LOG-UUID: 12924683250015598730 Connection: keep-alive X-Cache-Lookup: Cache Miss

GET / HTTP/1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate 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 Cookie: SUV=240116204451Y8DX; clt=1753256432; cld=20250723154032; Hm_lvt_d7c7037093938390bc160fc28becc542=1753256310,1753256443; HMACCOUNT=B48BC1C04E49CD72; hideAddDesktop=true; t=1753256476811; beans_new_turn=%7B%22sohu-index%22%3A12%7D; Hm_lpvt_d7c7037093938390bc160fc28becc542=1753256477 Host: news.sohu.com Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐