纵有疾风起
人生不言弃

理解HTTP协议

1.HTTP是什么?
HyperText Transport Protocol 超文本传输协议 由W3C组织进行维护的, 使用
端口80,是无状态协议
主要是用于描述请求和响应的数据格式,

2.做一个应用并访问
telnet localhost 8080 (设置本地回显 1.telnet 2.? 3.set ? 4.display)
操作不显示字符:ctrl+] 再回车 就可以输入命令了
GET /MyApp/1.html HTTP/1.1
Host:
GET /hello/1.html HTTP/1.0

HTTP1.0与HTTP1.1区别:1.0是每次只发一次请求,1.1是每次可以发多次请求

3.当请求的资源中含有 <img > <link> <script>浏览器会自动发出请求

4.对比进行讲解消息头
请求消息头:一个请求行,多个消息头, 一个空行
请求行:请求类型(GET/POST) 请求资源 HTTP版本 如(GET /app/2.html HTTP/1.1)
响应消息头:一个响应头(状态行),多个消息头,一个空行,响应内容

GET与POST方式对比
1.GET提交数据有长度限制,1K,而POST没有长度限制
2.GET在地址栏可见,所以不安全。POST提交数据在主体内容中不可见,所以安全

消息头:
Accept:告知服务器,浏览器可接受的MIME类型 (Multipurpose Internet Mail Extensation) 多用途互联网邮件扩展类型
MIME 类型:文件系统文件类型用文件的扩展名来区分
MIME类型由大类型/小类型组成的.比如text/html text/css text/javascript image/bmp image/jpeg (Tomcat conf/web.xml
Accpept-Charset:支持的字符集
User-Agent:客户端浏览器
Accept-Language:浏览器所希望的语言类型
*Accpet-Encoding:gzip,deflate,所支持的数据压缩格式

**Cookie:这是最重要的请求头信息之一
*Referer:包含一个URL,该URL表示当前页来源(用于防盗链,统计广告投放效果)
*Content-Type:请求正文内容的MIME类型(适应于Post请求)
默认是application/x-www-form-urlencoded(username=sa&age=30)

响应消息头
*Location:http://www.itheima.com/index.jsp 告知浏览器,新的资源的位置(302跳转)
*Content-Encoding: gzip代表服务器采用什么方式进行数据压缩
GZIPOutputStream
*Content-Length: 服务器发送的数据长度
Content-Language: zh-cn服务发送的文本的语言
*Content-Type:application/octet-stream; text/html; charset=GB2312服务器发送的内容的MIME类型
Last-Modified:服务器最后修改资源的时间
*Refresh:指定服务器刷新 Refresh: 1;url=http://www.it315.org指示客户端刷新频率。单位是秒
*Content-Disposition: attachment;filename=aaa.zip指示客户端下载文件

*Expires: -1清理缓存
*Cache-Control: no-cache (1.1) 没有缓存
*Pragma: no-cache (1.0) 没有缓存
//response.setHeader(“*Expires”,”-1″);

**Set-Cookie:SS=Q0=5Lb_nQ; path=/search服务器端发送的Cookie

 

文章转载于:https://www.cnblogs.com/lm970585581/p/8350232.html

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » 理解HTTP协议
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录