《Oracle JavaEE编程自学与面试指南》01-07:HTTP协议

课程封面-JavaEE-AT阿宝哥


深入了解IT/互联网行业及岗位,请参阅通用IT/互联网岗位招聘计划(最新全岗版)
深入了解职业晋升及学习路线,请参阅最优职业晋升路线和课程学习指南(最新全栈版)


内容导航

  • 1、HTTP协议
  • 2、请求
    • 2.1、GET
    • 2.2、POST
  • 3、响应

我们学习本门课程的目标,是使用JavaEE技术开发动态的Web应用,所以先了解Web应用的概念。
所谓Web应用,一般指的都是动态的,称为Web Application,例如当当、12306、百度等等。而静态的网站,称为 Web site,下面先学习静态和动态Web应用的不同访问过程。

1、HTTP协议

HTTP,即超文本传输协议。

  • 无状态协议
  • 用于通过 Internet 发送请求消息和响应消息
  • 使用端口接收和发送消息,默认为80端口

2、请求

两种常见的HTTP请求方法:GET和POST。

2.1、GET

GET方法:
不提交大量数据,无敏感、保密数据时使用
超级链接访问,默认是GET方法
form提交,不指定method,默认为GET方法
form提交,制定method=“GET”,很少用这种方式


GET / HTTP/1.1   
Host: gpcuster.cnblogs.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
If-Modified-Since: Mon, 25 May 2009 03:19:18 GMT


  • Accept - Charset:浏览器可接受的字符集。
  • Accept - Encoding:浏览器能够进行解码的数据编码方式,比如gzip。
  • Accept - Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。
  • If - Modified - Since:只有当所请求的内容在指定的日期之后又经过修改才返回它,否则返回304“Not Modified”应答

2.2、POST

POST方法:需要提交敏感、保密数据,或数据量较大
form提交,指定method=“POST”


POST / HTTP/1.1
Host: www.baidu.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 40
Connection: Keep-Alive
name=Professional%20Ajax&publisher=Wiley

  • Content-Type说明了请求主体的内容是如何编码的。浏览器始终以application/ x-www-form- urlencoded的格式编码来传送数据
  • Content-Length说明了请求主体的字节数。在首部Connection后是一个空行,再后面就是请求主体。与大多数浏览器的POST请求一样,这是以简单的“名称—值”对的形式给出的,其中name是Professional Ajax,publisher是Wiley

3、响应

HTTP响应


HTTP/1.1 200 OK
Cache-Control: private, max-age=30
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Expires: Mon, 25 May 2009 03:20:33 GMT
Last-Modified: Mon, 25 May 2009 03:20:03 GMT
Vary: Accept-Encoding
Server: Microsoft-IIS/7.0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 25 May 2009 03:20:02 GMT
Content-Length: 12173
 
­消息体的内容(略)


HTTP响应

一个响应由四个部分组成;状态行、响应头标、空行、响应数据

  • 状态行:状态行由三个标记组成:HTTP版本、响应代码和响应描述。
  • HTTP版本:向客户端指明其可理解的最高版本。
  • 响应代码:3位的数字代码,指出请求的成功或失败,如果失败则指出原因。
  • 响应描述:为响应代码的可读性解释。 例如:HTTP/1.1 200 OK
  • 响应头标:像请求头标一样,它们指出服务器的功能,标识出响应数据的细节。
  • 空行:最后一个响应头标之后是一个空行,发送回车符和退行,表明服务器以下不再有头标。
  • 响应数据:HTML文档和图像等,也就是HTML本身

好好学习,天天向上!继续下一章…👏👏👏👏👏👏


扫码关注AT阿宝哥,畅读更多内容!


感谢您阅读,如果对作者其它文章也很感兴趣,请扫码关注!🚀🚀🚀🚀🚀🚀


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章