? ? ? ? 超文本传输协议(HTTP),是用来在浏览器和WWW服务器之间传送超文本的协议,它可以使浏览器更加高效,使网络传输减少。HTTP是一种面向对象的协议,由两部分组成:从浏览器到服务器的请求集和从服务器到浏览器的应答集
? ? ? 为了保证WWW客户机与WWW服务器之间通信不会产生二义性,HTTP精确定义了请求报文和响应报文的格式。
? ? ? HTTP回合过程包括连接、请求、应答和关闭4个步骤??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
HTPP主要6个重要特点
采用客户机/服务器模型:单台服务器可以为世界范围内众多的客户提供信息服务
简易性:速度快,开销小
灵活性与扩展性:HTTP允许传送任意类型的数据,在HTTP的信息包中,通过内容/类型标识可以定义传输的数据类型,不同的数据贴上不同的标签,就可以指明操作方法。HTTP只需公布行的标识就可以为这些数据传输提供服务。
无连接性:每一次在服务器一方都是独立的,不需要在请求的间隔中浪费时间。
HTTP的无状态性表现在两方面:一方面协议不记忆事物,为后续事物所需的信息必须在协议之外完成,从而每一次都需要传递完全的信息来说明服务,有些必要信息可能大量重复传输;另一方面,HTTP无须每次保留维护状态表,可以加快处理速度
HTTP在客户方提出请求时,可以指明能够接受的响应类型,从而在服务器一方可以用最恰当的方式把信息组合起来交送客户方
HTTP的方法
? ? ? ? ??
最常用的就是GET方法和POST方法
HTTP的状态码
最常见?的状态码,200(OK,客户端请求成功),404(Not?Found),403(Forbidden,服务器收到请求但是拒绝提供服务),302(Redirect,重定向),504(Bad Gateway)
WWW服务实现的过程
假设现在要访问某一学校的主页?http://www.111.edu.cn/index.php,交互过程如下
浏览器确定URL。
浏览器向DNS获取Web服务器?www.111.edu.cn的IP地址
DNS服务器以相应的IP地址218.75.16.107应答。
浏览器和IP地址为218.75.16.107的主机的80端口建立一条TCP连接
浏览器执行HTTP,发送GET\”index.php\”命令,请求读取该文件
www.111.edu.cn服务器返回“index.php”文件到客户端
释放TCP连接
浏览器显示文件中的所有正文和图像
简单的HTTP服务器
实现一个最简单的HTTP服务器,只在网页上输出“hello?world”
#include #include #include #include #include #include #include void Usage() { printf(\”usage: ./server [ip] [port]\\n\”);}int main(int argc, char* argv[]) { if (argc != 3) { Usage(); return 1; } int fd = socket(AF_INET, SOCK_STREAM, 0); if (fd hello world\”; sprintf(buf, \”HTTP/1.0 200 OK\\nContent-Length:%lu\\n\\n%s\”, strlen(hello), hello); write(client_fd, buf, strlen(buf)); } return 0;}
编译程序后启动输入 IP地址和端口号 ,可能会出现Linux防火墙问题,关闭防火墙即可
HTTP和HTTPS的区别
HTTP协议是以明文的方式在网络中传输数据,而HTTPS协议传输的数据则是经过TLS加密后的,HTTPS具有更高的安全性
HTTPS在TCP三次握手阶段之后,还需要进行SSL?的handshake,协商加密使用的对称加密密钥
HTTPS协议需要服务端申请证书,浏览器端安装对应的活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看根证书
HTTP协议端口是80,HTTPS协议端口是443
HTTPS优点:
HTTPS传输数据过程中使用密钥进行加密,所以安全性更高
HTTPS协议可以认证用户和服务器,确保数据发送到正确的用户和服务器
HTTPS缺点:
HTTPS握手阶段延时较高:由于在进行HTTP会话之前还需要进行SSL握手,因此HTTPS协议握手阶段延时增加
HTTPS部署成本高:一方面HTTPS协议需要使用证书来验证自身的安全性,所以需要购买CA证书;另一方面由于采用HTTPS协议需要进行加解密的计算,占用CPU资源较多,需要的服务器配置或数目高
?
54523538
《超文本传输协议HTTP总结(+简单的HTTP服务器)》来自互联网同行内容,若有侵权,请联系我们删除!
还没有评论,来说两句吧...