网络协议:HTTP

1、请求报文格式

2、应答报文格式

3、请求方法:区分不同请求方法的方式很多,可以通过url的结构来判断

             POST  
             GET 请求读取一个页面

     HEAD

请求读取一个页面,服务器只返回相应头,可以用来检测一个页面是否存在
           DELETE 删除一个uri指定的内容
         CONNECT  

4、错误吗

200  
300  
400  
500  
   
   
   
   
   
   

 

5、请求一个web页面的交互流程

当我们在浏览器中的地址栏中输入网址如http://www.sina.com/index.html时,后台发生了如下事情

①、浏览器分析地址栏中的URL,并解析出域名www.sina.com

②、首先在本地系统中的hosts文件中查找该域名对应的IP地址,如果本地hosts文件没有找到对应的IP,再接着去系统设置的DNS服务器上去查询该域名的IP地址。解释一下DNS服务器(Linux系统下/etc/resovf.conf配置了DNS服务IP,如果是手动配置的DNS服务器IP,也会记录在该配置文件中)。

③、DNS服务器将www.sina.com域名对应的IP地址返回给浏览器。

④、浏览器与该服务器建立TCP连接,默认为80端口(这里要经历TCP的三次握手)

⑤、浏览器请求文档:GET /index.html  (GET命令系统中默认已安装,命令行可以直接使用GET www.sina.com/index.html请求该文档。

⑥、服务器给出相应,将文档index.html发送给浏览器

⑦、服务端关闭TCP连接(这里要经历TCP的四次挥手)

⑧、浏览器显示index.html文档

6、URL,URI,URN

URL:统一资源定位符

URI:统一资源标记符

URN:统一资源命名符

URL和URN同属于URI的一部分。

一个URL的标准格式为:

<协议>://<域名/IP>:<端口>/<路径>

进行http请求时每个字段都会有,但我们在浏览器中往往没有手动输入<协议>和<端口>,是因为浏览器在发起请求前都会默认添加这些部分。如果用一些分装了URL的库,如果不是按标准的格式传入,那么该URL库就无法解析域名和端口了。比如说poco中URL类。

7、Libcurl 中进行 HTTP 请求

8、Qt 中进行 HTTP 请求

9、QML 中进行 HTTP 请求

posted @ 2020-12-14 10:53  cnbljl2020  阅读(63)  评论(0)    收藏  举报