HTTP是计算机通过网络进行通信的规则,是一种无状态的协议,不建立持久的连接(客户端向服务器发送请求,web服务器返回响应,接着连接就被关闭了);

一个完整的HTTP请求连接,通常有下面7个步骤:

1、建立TCP连接(一般走的都是TCP连接)

2、web浏览器向web服务器发送请求命令

3、web浏览器发送请求头信息

4、web服务器应答

5、web服务器发送应答头信息

6、web服务器向浏览器发送数据

7、web服务器关闭TCP连接

一个HTTP请求一般由四部分组成:

1、HTTP请求的方法或动作,比如是GET还是POST请求

2、正在请求的URL,总得知道请求的地址是什么吧

3、请求头,包含一些客户端环境信息,身份验证信息等

4、请求体,也就是请求正文,请求正文中可以包含客户提交的查询字符串信息,表单信息等等,一般来说,请求头与请求体之间有一个空行,表示请求头已经结束,接下来的内容就是请求体

GET请求:一般用于信息获取,使用URL传递参数,对所有人都是可见的,但GET方法是安全的,对所发送的信息的数量也有限制,一般在200个字符。

POST请求:一般用于修改服务器上的资源,对其他人是不可见的,对所发送信息的数量无限制。

一个HTTP响应一般由三部分组成:

1、一个数字和文字组成的状态码,用来显示请求成功还是失败

2、响应头:响应头也和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等

3、响应体:也就是响应正文

HTTP状态码由3位数字构成,其中首位数字定义了状态码的类型:

1xx:信息类,表示收到web浏览器请求,正在进一步的处理中;

2xx:成功,表示用户请求被正确接收,理解和处理,例如:200 ok;

3xx:重定向,表示请求没用成功,客户必须采取进一步的动作;

4xx:客户端错误,表示客户端提交的请求有错误,例如404 NOT Found,意味着请求中所引用的文档不存在;

5xx:服务器错误,表示服务器不能完成对请求的处理;如500

HTTP基础知识的更多相关文章

  1. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  2. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  3. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  4. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  5. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  6. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  7. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  8. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  9. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  10. APP测试入门篇之APP基础知识(001)

    前言        最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...

随机推荐

  1. 调皮的R文件,卑鄙的空格

    毕业快一年了,由于公司业务需要,开发岗的我做了一年测试.最近,终于要开始转开发了.于是和小伙伴们合作,做一个备忘录apk.由于之前是做java的,而且差不多一年没碰代码了(这一年主要做测试,虽然有写自 ...

  2. 7.MyBatis延时加载

    1.创建javaWeb项目MyBatis_Lazy并在WebRoot下的WEB-INF下的lib下添加如下jar文件 cglib-nodep-2.1_3.jar log4j-1.2.17.jar my ...

  3. css3制作3d旋转相册

    此处只是记录,解析可见原文:http://www.cnblogs.com/skyblue-li/p/6092799.html <!DOCTYPE html> <html xmlns= ...

  4. mybatis(1)

    一.MyBatis简介 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索.MyBatis ...

  5. unity笔录

    ----------------------------unity项目在启动splash的时候黑屏 原因不明------------------测试复制项目  用剔除法测试 笔录开始 先用原版本打包 ...

  6. echarts样式修改

    本人是查看如下链接: http://down.admin5.com/demo/code_pop/cs/dsj/doc/example/themeDesigner.html# 图示很简洁明了.

  7. python2到python3的转换以及f.write在python3 中的用法

    .利用Python内置(Python脚本)工具,帮你自动转换 Python 2.x版本,比如我安装的Python 2.7.2,其在windows下载安装好之后,就自带了相关的一些有用的工具. 其中一个 ...

  8. java URLEncoder 和Base64.encode()

    参考: http://www.360doc.com/content/10/1103/12/1485725_66213001.shtml (URLEncode) http://blog.csdn.net ...

  9. 安卓Activity、service是否处于同一进程

    Activity与Service是否处于同一进程?   1)默认情况下(不写android:process的时候),此时同一个应用程序的所有组建位于同一进程里,Activity与service也处于同 ...

  10. Javaweb 第12天 JSP、EL技术

    第12天 JSP.EL技术 今日任务: JSP技术入门和常用指令 JSP的内置对象&标签介绍 EL表达式&EL的内置对象 课堂笔记 1.JSP技术入门和常用指令 1.1.JSP的由来. ...