JAVA 之 HTTP知识框架

一、HTTP协议

1、HTTP协议概述

HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,传输HTML文件。
用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式。

2、请求部分
图片1.png
  • 1、消息正文: 当请求方式是POST方式时,才能看见消息正文

  • 2、uName=tom&pwd=123请求消息行

GET  /day08_02/1.html  HTTP/1.1
请求方式:Get(默认)  POST  DELETE  HEAD等
GET:明文传输 不安全,数据量有限,不超过1kb
GET /day08_02/1.html?uName=tom&pwd=123 HTTP/1.1
POST: 暗文传输,安全。数据量没有限制。

URI:统一资源标识符。去协议和IP地址。

协议/版本 :
  • 3、请求消息头
从第2行到空行处,都叫消息头
Accept:浏览器可接受的MIME类型 
告诉服务器客户端能接收什么样类型的文件。
Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip 
Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。 可以在浏览器中进行设置。
Host:初始URL中的主机和端口 
Referrer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面 
Content-Type:内容类型

告诉服务器浏览器传输数据的MIME类型,文件传输的类型
application/x-www-form-urlencoded

If-Modified-Since: Wed, 02 Feb 2011 12:04:56 GMT利用这个头与服务器的文件进行比对,如果一致,则从缓存中直接读取文件。
User-Agent:浏览器类型.
Content-Length:表示请求消息正文的长度 
Connection:表示是否需要持久连接。如果服务器看到这里的值为“Keep -Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接 
Cookie:这是最重要的请求头信息之一 
Date:Date: Mon, 22 Aug 2011 01:55:39 GMT请求时间GMT

3、响应部分

图片2.png
1、响应消息行
第一行:
HTTP/1.1   200   OK
协议/版本   响应状态码  对响应码的描述(一切正常)
响应状态码:
常用的就40多个。
200(正常)  一切正常
302/307(临时重定向)
304(未修改)
表示客户机缓存的版本是最新的,客户机可以继续使用它,无需到服务器请求。
404(找不到)  服务器上不存在客户机所请求的资源。
500(服务器内部错误)
2、响应消息头
Location: http://www.it315.org/index.jsp指示新的资源的位置
通常和302/307一起使用,完成请求重定向
Server:apache tomcat指示服务器的类型
Content-Encoding: gzip服务器发送的数据采用的编码类型
Content-Length: 80告诉浏览器正文的长度
Content-Language: zh-cn服务发送的文本的语言
Content-Type: text/html; charset=GB2312服务器发送的内容的MIME类型
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT文件的最后修改时间
Refresh: 1;url=http://www.it315.org指示客户端刷新频率。单位是秒
Content-Disposition: attachment; filename=aaa.zip指示客户端下载文件
Set-Cookie:SS=Q0=5Lb_nQ; path=/search服务器端发送的Cookie
Expires: -1
Cache-Control: no-cache (1.1)  
Pragma: no-cache (1.0)表示告诉客户端不要使用缓存
Connection: close/Keep-Alive   
Date: Tue, 11 Jul 2000 18:23:51 GMT
3、响应正文

和网页右键“查看源码”看到的内容一样。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,490评论 6 152
  • HTTP概述 超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最...
    曹渊说创业阅读 3,879评论 2 61
  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 5,256评论 3 82
  • 前言:最近发现自己在网络相关这一块基础很是欠缺,所以准备花时间了解一下,本文主要是讲http协议的一些基础,和一些...
    justCode_阅读 2,111评论 0 23
  • 还从来没有一个成语像“鸡犬新丰”这样带给我如此强烈的震撼和无际无边的想象,以至于时隔多年,只要想到它,我仍是心潮澎...
    叶笑风阅读 716评论 2 3