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. iOS 多线程的简单理解(3)执行方式 + 执行对列 的组合

    通过对前面两偏线程理解的总结,自己对线程的理解也逐渐加深,梳理的清晰起来…… 通常在使用线程 的时候,都是要用到 执行对列,执行方式,执行任务, 现在开始新一轮的深入 3. 1. 1  同步 + 串行 ...

  2. php 常用的常量

    /* php 常用的常量 */ 1.系统常量 * FILE 当前PHP文件的相对路径 * LINE 当前PHP文件中所在的行号 * FUNCTION 当前函数名,只对函数内调用起作用 * CLASS ...

  3. gcr 镜像无法下载问题

    GCR Proxy Cache 帮助 GCR Proxy Cache服务器相当于一台GCR镜像服务器,国内用户可以经由该服务器从gcr.io下载镜像. 使用GCR Proxy Cache从gcr.io ...

  4. 【计算机视觉】基于Shading Model(对光照变化一定不变性)的运动目标检测算法

    光照模型(Shading Model)在很多论文中得到了广泛的应用,如robust and illumination invariant change detection based on linea ...

  5. php str_getcsv解决explode不能解决的问题

    php str_getcsv解决explode不能解决的问题 <pre><?php$str = "中国,广东省,广州市,天河区,'113.329884,23.154799' ...

  6. 2019.12.4 Hystix熔断&Feign进行远程调用&Zuul

    0.学习目标 会配置Hystix熔断 会使用Feign进行远程调用 能独立搭建Zuul网关 能编写Zuul的过滤器 1.Hystrix 1.1.简介 Hystrix,英文意思是豪猪,全身是刺,看起来就 ...

  7. string中的erase()函数

    erase()是对string类型的字符串进行删除元素操作的函数 1.erase(int index) 删除下标从index开始直到字符串结尾的元素 1 string s = "123215 ...

  8. Machine Learning Glossary

    http://people.seas.harvard.edu/~mgelbart/glossary.html more at:http://www.metacademy.org/list

  9. Zuul【基础配置】

    概述:zuul底层是基于servlet,是由一系列的filter链构成. 1.路由配置 a.单例serverId映射 zuul: routes: client-a: path: /client/** ...

  10. Python进阶:metaclass谈

    metaclass 的超越变形特性有什么用? 来看yaml的实例: import yaml class Monster(yaml.YAMLObject): yaml_tag = u'!Monster' ...