HTTP服务(修改版1.0)

Web服务

Internet上主机之间的通讯需要有两个重要的标志:IP和端口号,两者合称为套接字地址 socket address

客户端主机套接字地址定义了一个唯一的客户进程(端口号可随机)

服务器套接字地址定义了一个唯一的服务器进程(端口号需要固定)

端口号总范围是0-65535,但是0-1023范围内端口号是系统端口或叫特权端口,只限管理员使用


HTTP(Hyper Text Transfer Protocol)是应用于TCP/IP协议的应用层的超文本传输协议,基于TCP协议,默认端口号为80

HTTP服务通信的过程:(服务端S、客户端C)

html是超文本的编辑语言,使得文本内容更加美观,基本运用的格式如下:

<html>

<head>

<title>输入定义的网页标签名

</title>

</head>

<body>

<img src=“输入调用的图片、logo等文件路径”>    

<h1>“要输入的字符内容”</h1>

<p><a href=超链接地址>需要被连接的字符</a>不需要超链接的字符</p>

</body>

</html>

这些html语言编辑的文件一般存放在默认的httpd服务的默认站点/var/www/html/目录下并以.html结尾

为了能够实现多媒体的传输,HTTP协议就利用MIME(Multipurpose Internet Mail Extensions)多用途的邮件扩展协议来支持,在CentOS系统中 /etc/mime.types 文件中可查看支持的多媒体类型


HTTP协议

目前市面上正常使用的协议为三种:http/1.0、http/1.1(主流)、http/2.0

http/1.0:

每个TCP协议连接中只能发送一个请求,发送数据完毕,连接就关闭;若还需要获取其他资源,则需要另外建立新的TCP连接

支持多种method方法指令:GET(请求数据)、POST(上传数据)、HEAD(查看http报文首部)

http/1.1:(在http/1.0协议基础上升级)

引入持久连接,即TCP连接建立之后,默认不关闭,客户端可以发送多个请求,在多数浏览器中,支持同时开启6个持久连接

新增了一些其他method指令:PUT、PATCH、OPTIONS、DELETE,但是不常用

存在的缺点是,每个TCP连接中,数据通信是按照次序进行,可能会造成请求排队堵塞

http/2.0:(在http/1.1协议基础上升级)

每个TCP连接中,客户端与浏览器可以同时发送多个请求与回应

服务器可以未经请求情况下,主动推送资源给客户端

TCP连接在这三种协议中,从开始的每次单个连接只能执行一次请求===>升级到按照顺序单个连接可处理客户端的多个请求===>再到可不按照顺序客户端和服务端同时发送多个请求或回应

 

http协议是属于无状态协议,服务器是无法跟踪访问者来源的,为解决此问题,一般是通过如下方法:

cookie与session的结合 (每个服务器会设置cookie的数量)

工作机制:当客户端访问某个服务器网站时,服务器端会自动的生成一个cookie信息,发送给客户端并设定唯一的一个编号,客户端会将此cookie信息存储在文件中,若是客户端在此访问相同的服务器网站,会携带此带编号的cookie信息,服务端则通过此编号,在session中将客户端此前相关访问信息与之关联,从而记录下来,实现跟踪

 

HTTP经常使用的状态码以及相关含义,如下:

200: 成功,请求数据通过响应报文的entity-body部分发送;OK

301: 请求的URL指向的资源已经被删除;但在响应报文中通过首部Location指明了资源现在所处的新位置;Moved Permanently

302: 响应报文Location指明资源临时新位置 Moved Temporarily

304: 客户端发出了条件式请求,但服务器上的资源未曾发生改变,则通过响应此响应状态码通知客户端;Not Modified

401: 需要输入账号和密码认证方能访问资源;Unauthorized

403: 请求被禁止;Forbidden

404: 服务器无法找到客户端请求的资源;Not Found

500: 服务器内部错误;Internal Server Error

502: 代理服务器从后端服务器收到了一条伪响应,如无法连接到网关;Bad Gateway

503 : 服务不可用,临时服务器维护或过载,服务器无法处理请求

504 : 网关超时


HTTP工作机制

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值