HTTP的协议

来源:互联网 发布:mac 修改文件夹的权限 编辑:程序博客网 时间:2024/06/04 08:43

1.HTTP的协议

            * 啥是HTTP的协议:超文本传输协议。
            * 基于TCP链接的传输协议。
            * HTTP协议默认是80
            * 基于请求和响应的模式。(先有请求,后有响应)
                * www.baidu.com(访问百度的服务器)
                * 百度的首页返回给我
            * 客户端连上web服务器后,若想获得web服务器中的某个web资源,
                需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式
                
                
            * 使用telnet命令,快速了解http协议。
            * 如果是win的系统,开启telnet的命令。    
                
                
                启动服务器.
                cmd>telnet localhost 80  回车
                telnet命令有一个乱码问题  解决乱码.
                解决  ctrl+]  回车
                注意:命令行中输入的内容不能写错,一旦写错了,不支持删除。
                请求:
                
                GET /aa/1.html HTTP/1.1
                host:localhost
                输入两次回车
                
            * 使用telnet命令发送了一次请求
                * 请求:
                    GET /aa/1.html HTTP/1.1
                    host:localhost
                    
                * 响应:        
                    HTTP/1.1 200 OK
                    Server: Apache-Coyote/1.1
                    ETag: W/"21-1416624196782"
                    Last-Modified: Sat, 22 Nov 2014 02:43:16 GMT
                    Content-Type: text/html
                    Content-Length: 21
                    Date: Sat, 22 Nov 2014 07:33:53 GMT
                    
                    <h1>hello java!!</h1>
                    
            
            * HTTP协议的版本
                * HTTP/1.0
                    * 链接后,只能获取一个web资源。
                    * 链接后,发送请求,服务器做出响应,链接立即断开。
                        GET /aa/1.html HTTP/1.0
                        host:localhost    
                    
                * HTTP/1.1(使用)
                    * 链接后,可以获取多个web资源。
                    * 链接后,发送请求,服务器做出响应,链接不会立即断开。
                        再次发送请求,直接有一段时间没操作,自动断开。
                        GET /aa/1.html HTTP/1.1
                        host:localhost
                        

2.请求:

                1* 请求行
                    * 请求方式
                        * POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT、CONNECT
                        * 常用post和get
                        * 区别:
                            * get把参数显示在地址栏上,安全级别低,不支持大数据。
                            * post把参数封装请求体中,安全级别高,支持大数据。
                            
                    * 请求地址
                        * 请求资源
                    * 协议版本
                        * HTTP/1.1
                2* 请求头
                    Accept: text/html,image/*    
                    Accept-Charset: ISO-8859-1
                    Accept-Encoding: gzip
                    Accept-Language:zh-cn
                    Host: www.itcast.com:80
                    If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT
                    Referer: http://www.itcast.com/index.jsp
                    User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
                    Connection: close/Keep-Alive   
                    Date: Tue, 11 Jul 2000 18:23:51 GMT    
                    
                    * 重要的头
                        * If-Modified-Since        必须和响应头信息一起来完成控制本地的缓存。
                        * Referer                当前的网页的来源。(防止盗链)
                        * User-Agent            判断浏览器的版本(文件下载的时候)
                        
                3* 空行
                4* 请求体
                    * 封装post参数列表。

3响应

                * 响应行
                    * 协议版本
                        * HTTP/1.1
                    * 状态码
                        200 :请求成功处理,一切OK
                        302 :请求重定向
                        304 :服务器端资源没有改动,通知客户端查找本地缓存
                        404 :客户端访问资源不存在
                        500 :服务器内部出错
                        
                    * 状态码描述
                        
                * 响应头
                    Location: http://www.it315.org/index.jsp
                    Server:apache tomcat
                    Content-Encoding: gzip
                    Content-Length: 80
                    Content-Language: zh-cn
                    Content-Type: text/html; charset=GB2312
                    Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT
                    Refresh: 1;url=http://www.it315.org
                    Content-Disposition: attachment; filename=aaa.zip
                    Expires: -1
                    Cache-Control: no-cache  
                    Pragma: no-cache   
                    Connection: close/Keep-Alive   
                    Date: Tue, 11 Jul 2000 18:23:51 GMT
                    
                    * 重要的头
                        * Location                    和302一起完成重定向。
                        * Last-Modified                和请求头If-Modified-Since一起控制缓存。和状态码304
                        * Refresh                    完成页面的定时跳转
                        * Content-Disposition         设置文件是以附件打开
                        
                        Expires: -1
                        Cache-Control: no-cache  
                        Pragma: no-cache
                        * 禁用缓存(网银系统)
                        
                * 空行
                * 响应体

                    * 存放真正的数据。




0 0