【网络协议】Http-中

搜索引擎:搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上采集信息,在对信息进行组织和处理后,为用户提供检索服务,将检索的相关信息展示给用户的系统。搜索引擎是工作于互联网上的一门检索技术,它旨在提高人们获取搜集信息的速度,为人们提供更好的网络使用环境。

域名:尽管IP地址能够唯一地标记网络上的计算机,但IP地址是一长串数字,不直观,而且用户记忆十分不方便,于是人们又发明了另一套字符型的地址方案,即所谓的域名地址。

IP地址和域名是一一对应的,这份域名地址的信息存放在一个(Domain name server)的主机内,使用者只需了解易记的域名地址,其对应转换工作就留给了域名服务器。域名服务器就是提供IP地址和域名之间的转换服务的服务器。可以看下图csdn的域名。

【网络协议】Http-中_第1张图片

在Edge浏览器上搜索关键字“你好”,会出现什么结果呢?

解释:“cn.bing.com”就是微软公司的搜索引擎。我们知道所有的资源都被管理在各个网站中,如果我们不知道这个网站自然也就找不到资源。所以当我们在搜索学习资料时,如果不知道学习资料在哪里那么就很惨了。搜索引擎就是通过关键字帮我们检索有关的IP地址+服务器端口号+URL等等,我们只需要点击就可以找到想要的资源。否则,即便我们拥有浏览器,也可能根本找不到资源。零零散散去哪找,根本不知道IP地址和端口号。除非你同学直接告诉你学习资料的域名比如www.youxxxx.com,你输入的域名被解析成IP地址后浏览器自然可以对其发送请求。

【网络协议】Http-中_第2张图片

网站根目录:网站的所有资源都存放在web根目录下,这个根目录不一定是服务器主机的根目录。所以用户访问的URL就是在web根目录下的文件路径。在发送Http请求后,服务器解析URL并补全资源完整路径,在服务器主机上读取资源以http响应正文的形式发送给用户。

网站首页:我们进入网站,最先看到的就是网站的首页,这其实就是网站根目录下的一个index.html文档,里面的标签包含各个下级目录的路径。而网站根目录下的每个目录都有一个首页,所以你可以打开一个网站一直点击,直到访问到资源。点击就是进入下级目录,会出来一个专属首页,而回退就是进入上级目录,也会出现专属首页。每次点击或回退都会产生一次Http请求,所携带的Url就是当前所点击标签的Url。

所谓的跳转,本质其实就是让html中特定的标签被浏览器解释,重新发起http请求。

Http请求方法:

【网络协议】Http-中_第3张图片

这里主要说GET和POST。

GET的Http请求常常用来获取资源,但是其实GET也能提交参数只是以URL的方式提交。如果浏览器没有写请求方法,默认就是GET。

POST的Http请求常用来提交数据,数据在正文部分。

在网页上登录输入账号密码,常用POST请求方法,其一因为账号密码在正文部分所以私密性更强,其二是http请求行字符串有大小限制账号密码可能过长。

 Http状态码:

【网络协议】Http-中_第4张图片

常见的状态码有, 200(OK), 404(Not Found), 403(Forbidden), 302(Redirect, 重定向 ), 504(Bad Gateway)。
以上Http状态码并不是绝对标准,只是约定俗成,当然浏览器开发者也可以定义任意状态码并对其做出解释。
重定向就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向),搭配报头Location:“https://www.xxxxx.com/”使用。

//重定向测试

std::string response;

response = "HTTP/1.0 301 Moved Permanently" + SEP;

response += "Location: https://www.baidu.com/" + SEP;

response += SEP;

return response;

重定向状态码意味着所请求的资源地址已经改变,需要访问新的地址。301状态码代表永久性转移,302状态码代表暂时性转移。

HTTP-下

你可能感兴趣的:(Linux网络编程,http,网络协议,网络)