设为首页 收藏本站
查看: 1020|回复: 0

[经验分享] HTTP协议理解

[复制链接]

尚未签到

发表于 2017-6-21 18:47:41 | 显示全部楼层 |阅读模式
  HTTP(Hyper Text Transfer Protocol)超文本传输协议,是一种请求响应式协议,类似两国会晤中需要遵守的规则。那么,其中有什么内容特点呢?
  
  HTTP特点:
  1)支持客户端/服务器模式(浏览器也是一种客户端)
  2)够简单,所以够快速
  3)够灵活,传输什么类型的数据都能适应
  4)无状态,指对事务处理没有记忆,也就是说没有续传性,一旦断开,下次重新连接要重新传输(区别于FTP是有状态的,假如传文件传到一半断网了,没事,下次接着传)
  
  HTTP版本问题:
    HTTP1.0每次只能处理一个HTTP请求,这将直接导致用户访问一个包含各种链接的网页时,速度缓慢(每个链接都要有一个请求和一个响应多慢啊)
    HTTP1.1一个TCP连接上可以传送多个HTTP请求和响应
  
  HTTP消息=HTTP请求消息+HTTP响应消息
  
  HTTP请求消息=请求行+请求头+请求消息
  1)请求行:请求方式+资源路径+HTTP版本(用空格分隔):GET /index.html HTTP/1.1
    其中请求方式分为get和post两种方式,区别如下:
    get方式生成的请求会将参数部分加载在URL后面,以?为标志,也就是说保密性不强,get方式传送的数据量有限(不超过1KB)
    post方式保密性强,传输大小无限制,所以实际开发中这种方式更受青睐!
  2)请求头:主要向服务器端传递附加信息:(头字段名称+冒号+空格+值)   <%--   这里是解释-->
    Host: localhost:8080    <%--主机和端口号(必须包含这个)-->
    Accept: image/gif, image/x-xbitmap, *    <%--告诉服务器,客户端可以接受的MIME(多用途互联网邮件扩展)类型-->
    Referer: http://localhost:880/itcast/  <%--检验请求网站的来源,即请求发出站,可以用于网站的防盗链-->
    Accept-Language: zh-cn,zh;  <%--客户端期望服务器返回哪个国家语言的文档,这里表示中国(en-us表示美国)-->
    Content-Type: application/x-www-form-urlencoded  <%--指出实体内容的MIME类型-->
    Connection: Keep-Alive  <%-- 建立连接是否连续 -->
    Cache-Control: no-cache  <%--告诉服务器端是否允许缓存该页面-->
  
  HTTP响应消息=响应状态行+响应消息头
  1)响应状态行:HTTP版本+状态码+状态码对应的文本信息(空格分隔):HTTP/1.1 200 OK
    其中状态码由三位数字组成,表示请求是否被理解或被满足,其中第一个数字定义了响应的类别
    1xx:请求已接收,需要继续处理
    2xx:请求已接收、理解并接受(常见的200表示正常)
    3xx:为完成请求,客户端需要进一步细化请求(302表示找到,例如请求重定向SendRedirect)
    4xx:客户端请求出错(常见的404表示页面找不到,400请求无效,408请求超时)
    5xx:服务器出错(常见的500内部服务器出错)
  2)HTTP相应头:紧接着响应状态行之后是若干响应消息头,也是传递附加信息,不过是服务器端向客户端发送的
    Server: Apache-Coyote/1.1  <%--服务器名称-->
    Content-Encoding: gzip  <%--压缩编码格式-->
    Content-length: 80  <%-- 响应内容类型-->
    Content-Language: zh-cn  <%--指出响应的使用语言-->
    Content-Type: text/html; charset=GB2312  <%--客户端检查接收的内容代表哪种格式的数据类型  -->
    Expires: -1  <%-- 和下面两个共同组合使用,告诉客户端是否在客户端缓存网页-->
    Cache-Control: no-cache
    Pragma: no-cache
  
  HTTP暂止于此,下次是复习Servlet技术~~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-386437-1-1.html 上篇帖子: 下载https协议需要的cer证书 下篇帖子: 渗透常用dos命令,http协议及数据提交方式。 某某
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表