HTTP协议通信原理

请求报文
请求行      GET index.html HTTP 1.1
请求方法:get  读取服务器数据内容
       post   提交存储服务端数据(用户注册)
协议版本:    http1.0 (TCP短链接)http1.1(TCP长连接) http2.0
请求头      Accept:image/gif,inage/jpeg
         Accept:Language:zh-cn
         HOST;www.jd.com
            HTTP-User-Agent:firefox IE chrome
空行          N/A
请求报文主体      GET方法无请求报文主体,POST方法才有

====================================================
响应报文
起始行      HTTP1.1 200 OK (200 ok 表示状态码信息)
状态码信息范围与作用
100~199 指定客户端相应的某些动作
200~299 用于表示请求成功
300~399 用于已经移动的文件,并且常包含在定位头部信息中指定新的地址信息
400~499 指出客户端错误
500~599 指出服务器端错误

相应头
空行          N/A
响应报文主体  

=============================================================================================================================
常用状态码信息说明
200 - OK 服务器成功返回网页
301 - Moved Permanently 永久跳转,所请求网页将永久跳转到被设定的新位置
302 临时跳板
403 - Forbidden 禁止访问
404 - Not Found 服务器找不到客户指定页面,可能是客户端请求了服务器端不存在的资源
500 - Internal Server Error内部服务器错误,不能完成客户请求
502 - Bad Gateway 坏网关,代理服务器请求后端服务时,后端服务没有完成相应网关服务器 (通常为反向代理服务器下面节点问题所致)
503 - Service Unavailable 服务器当前不可用
504 - Gateway Timeout 网关超时
====================================================================================================================================

HTTP协议资源说明
1.媒体资源类型
web可处理接受的资源类型(text/html css jpg avi)
常用(mime.type)的文件进行定义资源类型
2.URL/URI
url 统一资源定位符
uri 统一资源标识符
3.静态文件资源
特点:固定的URL地址且地址中不包含特殊符号,每个网页都是独立的文件
网页程序在用户浏览器解析,因此服务器端可接受更多并发访问
4.动态文件
扩展名后缀常为:.asp .aspx .php .do .cgi
特点:不是独立存在与服务器上的网页文件,当用户请求时,服务器解析程序并通过读取数据库来返回完整网页
动态网页中的"?"在搜索引擎收录方面中不会抓取“?”后的内容,因此企业推广时采用伪静态技术已方便搜索引擎抓取
5.伪静态文件资源
============================
网站度量值统计方法
1.IP(独立IP)通过访问网站时被计的总次数
2.PV 每点开一个网站就是一个PV
3.UV (独立访客) 同一个客户端(PC或移动端)访问网站被计为一个访客。
一天24小时内相同的客户端访问同一个网站只计一次UV
cookie:标识用户主机身份信息

web服务软件分类
静态;Apache Nginx Lighttpd
动态: PHP(FastCGI) Tomcat Resin

HTTP协议通信原理 与常见报错信息的更多相关文章

  1. python常见报错信息!错误和异常!附带处理方法

    作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息. Python 有两种错误很容易辨认:语法错误和异常. Python assert(断言)用于判断一个表达式,在表达 ...

  2. Jmeter常见报错信息: ERROR - jmeter.protocol.http.proxy.ProxyControl: Could not initialise key store java.io.IOException: Cannot run program "keytool"

    JMeter 2.10 用的新方法来录制HTTPS请求Java 7. 录制的过程中会碰到一些问题或者报错,就目前碰到的,做出一些总结. ERROR - jmeter.protocol.http.pro ...

  3. java常见报错及解决

    Java常见报错信息: Java 常见异常种类 Java Exception: 1.Error  2.Runtime Exception 运行时异常 3.Exception  4.throw 用户自定 ...

  4. web报表工具FineReport使用中遇到的常见报错及解决办法(二)

    web报表工具FineReport使用中遇到的常见报错及解决办法(二) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘 ...

  5. HDFS集群常见报错汇总

    HDFS集群常见报错汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DataXceiver error processing WRITE_BLOCK operation 报 ...

  6. 03:git常见报错解决方法

    1.1 git常见报错解决方法 1.warning: LF will be replaced by CRLF in .idea/workspace.xml. 参考博客:https://www.cnbl ...

  7. JavaScript 调试常见报错以及原因

    JavaScript 调试常见报错以及原因 测试环境 chrome 版本 66.0.3359.170(正式版本) (64 位) TypeError 类型错误 不是操作符所接受的数据类型. //---- ...

  8. [转]HTTP协议通信原理

    本文转自<HTTP协议通信原理> 了解HTTP HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客 ...

  9. Nginx 常见报错

    Nginx 常见报错 启动报错:[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) 原因:这个是nginx重启时经常遇到 ...

随机推荐

  1. 【prometheus抓取间隔】scrape_interval

    prometheus如何设置比较合理: https://www.robustperception.io/keep-it-simple-scrape_interval-id 总结:一般设置在10s-60 ...

  2. idea里面lombok要如何设置后才会生效

    16:31 Lombok Requires Annotation Processing Annotation processing seems to be disabled for the proje ...

  3. HDU 2089 不要62 数位DP模板题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 参考博客:https://www.cnblogs.com/HDUjackyan/p/914215 ...

  4. 原生Js页面滚动延迟加载图片

    原理和过程1.页面滚动加载事件2.获取元素在页面里的top值 根据滚动条的位置 判断何时显示图片3.获取元素集合 加载过的图片从集合里删除 效果预览:http://jsfiddle.net/dtdxr ...

  5. Socket测试工具(客户端、服务端)

    Socket是什么? SOCKET用于在两个基于TCP/IP协议的应用程序之间相互通信.最早出现在UNIX系统中,是UNIX系统主要的信息传递方式.在WINDOWS系统中,SOCKET称为WINSOC ...

  6. http响应时长分析

    curl -o /dev/null -s -w "time_namelookup:%{time_namelookup}::time_connect:%{time_connect}::time ...

  7. Linux下Mongodb安装和启动配置 转载

    原文地址:https://www.cnblogs.com/Jimmy104/p/6181899.html 以下文章为转载,感谢网友,原文链接 http://blog.csdn.net/yuwenrul ...

  8. NAT的配置

    实验的拓扑图如下所示 首先我们对路由器进行基础的地址配置 我们先在R2路由器上设置一条连接外网的静态路由 然后我们给PC1设置一个静态NAT 然后使得PC1 通过202.169.10.5 地址访问外网 ...

  9. 查看Mysql是否开启binlog

    show variables like 'log_bin';

  10. nohup保证程序后台运行

    前言 我们运行某些命令的时候,它会默认在前台执行.如果要进行其他操作,则需要先停掉此程序.然后就蛋疼了.   解决 碰到这种情况,我们可以使用"nohup"命令和"&am ...