大家好,今天我们来分享一下http
首先,我们的第一个问题就是:
什么是http
http 的 中文解释是: 超文本传输协议, 英文全称:Hyper Text Transfer Protocol,HTTP 是一个简单的请求-响应协议
通常运行在tcp 之上 (tcp (传输控制协议) 位于传输层)
这里,有两个概念要区分
- 文本 (可以理解为以文字为载体,记录数据的形式 例如: 1.txt 1.html等等)
- 超文本 (非传统文字记录数据的载体) 视频 ,声音, 照片
无论是网络,运维,还是开发 ,都应该知道它的端口号: 80
接着,我们要知道http 是c/s 架构 ,就是说在它的工作过程中,需要两个端,一个是客户端,一个是服务器
其中,客户端可以理解 为 : 一台是需要到对方服务器请求数据的计算机 服务器可以理解为 : 一台向对方客户机响应请求,提供数据的计算机
实例 : 我在A 主机上通过浏览器访问百度 a主机是客户机 , 向a主机提供百度这一服务的计算机就是服务器
看这个
请求方法URI协议/版本 请求的第一行是“方法URI协议/版本”例如:GET/sample.jsp HTTP/1.1 以上代码中“GET”代表请求方法,“/sample.jsp”表示URI,“HTTP/1.1代表协议和协议的版本。 (2)请求头(Request Header) 请求头包含许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等。例如: Accept:image/gif.image/jpeg./ Accept-Language:zh-cn Connection:Keep-Alive Host:localhost User-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0) Accept-Encoding:gzip,deflate. (3)请求正文 请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。请求正文中可以包含客户提交的查询字符串信息: username=jinqiao&password=1234 在以上的例子的HTTP请求中,请求的正文只有一行内容。当然,在实际应用中,HTTP请求正文可以包含更多的内容。
或者看这个 1). GET:用于获取资源,参数通过URL查下字符串方式提交给服务器,无消息主体
2). POST:用于执行操作,参数可以通过URL查下字符串方式和消息主体提交给服务
3). HEAD:用于检测资源是否存在,与GET类似,区别在于在响应消息中返回的消息主体为空
4). TRACE:用于诊断,可判断客户端和服务器之间是否存在代理服务器,原理:服务器在响应主体中返回收到的请求消息的具体内容
5). OPTIONS:用于要求服务器报告对某一资源有效的HTTP方法,服务器常返回Allow消息头的响应,并列出所有有效的方法
6). PUT:使用请求主体中的内容向服务器上传指定的资源
7). DELETE:用于删除资源
有一个注意点,(上面这个全是大写)
还有几个常见的状态码
200—OK/请求已经正常处理完毕
301—/请求永久重定向
302—/请求临时重定向
304—/请求被重定向到客户端本地缓存
400—/客户端请求存在语法错误
401—/客户端请求没有经过授权
403—/客户端的请求被服务器拒绝,一般为客户端没有访问权限
404—/客户端请求的URL在服务端不存在
500—/服务端永久错误
503—/服务端发生临时错误
好了,有关于http就到这里了,谢谢大家
|