1. 术语 :

  请求 : 客户端根据用户所给的地址信息将数据发送给服务器的过程

  响应 : 服务器将请求的处理结果发送给浏览器的过程

2. HTTP协议 :

  超文本传输协议 ( Hyper Text Transfer Protocol )

  规范浏览器和服务器的数据交互的格式

  HTTP允许传输任意类型的数据对象, 正在传输的类型由Content-Type加以标记

  HTTP1.1版本后支持可持续连接

3. HTTP的交互流程 :

  1. 客户端和服务器端建立连接

  2. 客户端发送请求数据到服务器端

  3. 服务器端接收到请求后, 进行处理, 然后将处理结果响应给客户端

  4. 关闭客户端和服务器端的连接 ( HTTP1.1后不会立即关闭 )

4. HTTP协议请求格式

  请求头 : 请求方式, 请求地址和HTTP协议版本

  请求行 : 消息报头, 一般用来说明客户端要使用的一些附加信息

  空行 : 位于请求行和请求数据之间, 空行是必须的

  请求数据 : 非必须

5. HTTP协议响应格式

  响应行(状态行) : HTTP版本,状态码,状态消息

  响应头 : 消息报头, 客户端使用的附加信息

  空行 : 响应头和响应实体之间必须有空行

  响应实体 : 正文, 服务器返回给浏览器的信息

6. get和post请求方式的区别

  get请求方式 :

    数据会以?的形式隔开拼接在请求头中, 不安全, 没有请求实体部分,

    HTTP协议虽然没有规定请求数据的大小, 但是浏览器对URL的长度是有限制的,

    所以get请求不能携带大量的数据

  post请求方式 :

    请求数据在请求实体中进行发送, 在URL中看不到具体的请求数据, 比较安全,

    适合数据量大的数据发送

7. HTTP响应状态码五种类型

  1xx : 信息, 服务器收到请求, 需要请求者继续执行操作

  2xx : 成功, 操作被成功接收并处理

  3xx : 重定向, 需要进一步的操作以完成请求

  4xx : 客户端错误, 请求包含语法错误或无法完成请求

  5xx : 服务器错误, 服务器在处理请求的过程中发生了错误

8. 常见状态码

  200 ( OK ) : 客户端请求成功

  400 ( Bad Request ) : 客户端请求有语法错误, 不能被服务器所理解

  401 ( Unauthorized ) : 请求未经授权, 这个状态码必须和WWW-Authenticate报头域一起使用

  403 ( Forbidden ) : 服务器收到请求, 但是拒绝提供服务

  404 ( Not Found ) : 请求资源不存在

  500 ( Internal Server Error ) : 服务器发生不可预期的错误

  503 ( Server Unavailable ) : 服务器当前不能处理客户端的请求, 一段时间后可能恢复正常

Servlet - HTTP协议相关的更多相关文章

  1. 老李分享:SSL协议相关证书

    老李分享:SSL协议相关证书   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9088214 ...

  2. Python——电子邮件、Internet协议相关模块

    一.电子邮件相关模块 email:用于处理电子邮件 smtpd:SMTP服务器 base64:Base-16.32.64数据编码 mhlib:处理MH文件格式解析的类 mailcap:mailcap文 ...

  3. Windows网络编程笔记4 -- Winsock 协议相关知识

     Win32平台上的Winsock编程,Winsock是一个与协议无关的接口.以下协议是我们需要了解的: 网络协议的特征包括: 1.  面向消息 2.  面向连接和无线接 3.  可靠性和次序性 4. ...

  4. http 协议相关问题

    http 协议相关问题 来源 https://www.cnblogs.com/lingyejun/p/7148756.html 1.说一下什么是Http协议? 对器客户端和 服务器端之间数据传输的格式 ...

  5. TCP-IP-part7-IP协议相关技术(一)

    仅凭IP是无法完成通信的,需要一些IP的辅助技术.这些技术的包格式可能不一样,但它们都是基于IP地址进行的,都是通过匹配路由表来进行的,只是功能不一样.例如DHCP分配IP地址,它只管通知这条信息,具 ...

  6. USB协议[转]_基本上涵盖了所有最基础的USB协议相关知识。

    背景: 需要使用到USB协议,我一直尝试着去强记这个流程,现在看来,其实不用.看多了,把这个过程具象出来,就牢牢记住了. 正文: 正文转自:http://fangjian0518.blog.163.c ...

  7. maven管理的jsp应用如何添加servlet、jsp相关依赖(org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.index_jsp)

    背景: 老大让做权限控制,研究了一下shiro,下了个demo下来,死活跑不起来,报 org.apache.jasper.JasperException: java.lang.ClassNotFoun ...

  8. 【Servlet】1、Servlet监听器及相关接口

    Servlet监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前.发生后可以做一些必要的处理. 接口: 目前Servlet2.4和JSP2.0总共有8个监听器接口和6个Event类,其中Ht ...

  9. http协议相关

    HTTP请求方法 HTTP消息头 HTTP请求头 HTTP响应头 HTTP cookie机制和实现原理 HTTP请求方法 超文本传输协议(HTTP, HyperText Transfer Protoc ...

随机推荐

  1. JS对象 window对象 屏幕可用高和宽度 1. screen.availWidth 属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如任务栏。 2. screen.availHeight 属

    屏幕可用高和宽度 1. screen.availWidth 属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如任务栏. 2. screen.availHeight 属性返回访问者屏幕的高度,以像素 ...

  2. Oracle 五笔码函数

    五笔码 select comm.fun_spellcode_wb('数据库') from dual 结果:ORY 函数 CREATE OR REPLACE FUNCTION COMM.FUN_SPEL ...

  3. 安装 sysbench的 报错 /usr/bin/ld: cannot find -lmysqlclient_r 解决办法

    首先你需要找到这个库的位置 一般找的话需要将lib 给加上(注意:我这里是 -lmysqlclient_r 的报错,于是我找就找 libmysqlclient_r ) find / -name lib ...

  4. codeforces 1182E Product Oriented Recurrence 矩阵快速幂

    题意:设f(n) = c ^ (2n - 6) * f(n - 1) * f(n - 2) * f(n - 3), 问第n项是多少? 思路:官方题解:我们先转化一下,令g(x) =  c ^ x * ...

  5. 前端学习(八)sass和bootstrap(笔记)

    less sass 和less基本上70%差不多(书写方式不一样) sass功能更多一点 1.定义一个变量 $b:blue; div{width:100px;height:100px; backgro ...

  6. php获取微信openid

    使用微信接口,无论是自动登录还是微信支付我们首先需要获取的就是openid,获取openid的方式有两种,一种是在关注的时候进行获取,这种订阅号就可以获取的到,第二种是通过网页授权获取,这种获取需要的 ...

  7. 转载 如何理解API,API 是如何工作的

    本文转载于https://blog.csdn.net/cumtdeyurenjie/article/details/80211896 感谢作者 仁杰兄 大家可能最近经常听到 API 这个概念,那什么是 ...

  8. Delphi max函数和min函数

    uses单元 math: min函数  min(A,B); 比较A.B的大小,取最小值 max函数  min(A,B); 比较A.B的大小,取最大值 原型示例:function Min(const A ...

  9. 画PCB时检查点总结

    一.画原理图时 NPN的引脚是否对应.继电器的引脚是否对应 设计通信电路时,MCU_RX和通信芯片RS232的ROUT接.同理MCU_TX和RS232的TIN接. MCU最好留个外接晶振接口,用NPN ...

  10. Java打war包or打jar包

    //一个jar包可以包含多个entry,这样就能实现下面功能 1.I/O       读文件流步骤                 File file=new File(filePath);     ...