HTTP 协议基本知识

HTTP协议
    7.1.什么是HTTP协议:
        HTTP协议是用来规定浏览器客户端和服务器通信的方式

7.2.基本原则
        基于请求响应模型
        一次请求对应一次响应
        请求只能由客户端发出, 服务器只能被动的等待请求, 做出回应
        
    7.3.http协议详解
        7.3.1.Http请求
            请求行
                GET /news3/1.html HTTP/1.1

GET:
                    提交方式, 一共有7种(GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE),其中5种不常用, 只用GET和POST提交

/news3/1.html:
                    请求资源的路径

HTTP/1.1:
                    1.0和1.1: 1.0版本的协议在每次通信结束后会立即断开客户端和服务器之间的连接(通道), 如果需要再次发送请求, 只能再建立新的连接
                    1.1版本的协议在每次通信结束后会将连接保持一段时间, 如果在这段时间内需要发送请求, 可以复用该连接.
            
            若干请求头
                Accept: text/html,image/*   
                    -- 通知服务器当前浏览器可以接受那些格式的数据
                Accept-Charset: ISO-8859-1  
                    -- 浏览器可以接受的字符集编码
                Accept-Encoding: gzip,compress
                    -- 浏览器可以接受的压缩格式
                Accept-Language: en-us,zh-cn  
                    -- 浏览器接受的语言环境,和国际化相关的头
                Host: www.tedu.cn:80  
                    --  需要访问的虚拟主机的名称
                !!Referer:
                    http://www.tedu.cn/index.jsp
                    -- 这是和防盗链相关的头,对当前资源的访问来自哪个页面的超链接
                User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
                    -- 客户端的基本信息
                !!Cookie
                    -- 和cookie相关的头
                Connection: close/Keep-Alive
                    -- 是否继续保持连接   
                Date: Fri, 17 Feb 2017 18:23:51 GMT
                    -- 当前发送请求的时间    
            
                (一个空行)
            请求实体内容
                xxxxxx

7.3.2.Http响应
            一个状态行
                HTTP/1.1 200 OK
                HTTP/1.1: Http协议的版本
                200: 状态码, 一个三位的数字(100~600) 表示服务器对请求处理的结果

常用的状态码:
                    200: 表示服务器成功的处理请求
                    302: 表示请求重定向
                    304: 表示通知浏览器使用缓存
                    307: 表示通知浏览器使用缓存
                    404: 表示资源找不到
                    500: 服务器内部出现错误!
                                    
                OK: 描述信息
                
            若干响应头:
                !!Location: http://www.tedu.cn/index.jsp  
                    -- 配合302使用实现请求重定向
                Server:apache tomcat
                    -- 服务器的基本信息
                Content-Encoding: gzip  
                    -- 服务器发送的数据使用的压缩格式
                Content-Length: 80
                    -- 服务器发送的数据的大小
                Content-Language: zh-cn
                    --服务器发送的数据使用的语言环境 国际化相关的头
                !!!Content-Type: text/html; charset=GB2312
                    -- 服务器发送的数据是什么格式的,如果是字符格式的数据,则还可以通知服务器发送的数据使用的是什么编码,浏览器会根据这个头指定的编码决定使用哪个编码来打开收到的数据

!!Refresh: 1;url=http://www.tedu.cn
                    -- 定时刷新相关的头,通知浏览器,过几秒后自动刷新访问哪个地址
                Content-Disposition: attachment;filename=aaa.zip
                    -- 通知浏览器以附件的形式打开发送过去的数据,是和文件下载相关的头

!!!Set-Cookie:SS=Q0=5Lb_nQ; path=/search
                    -- 和Cookie相关的头
                !Expires: -1
                    -- 通知浏览器是否缓存
                !Cache-Control: no-cache  
                    -- 通知浏览器是否缓存
                Pragma: no-cache   
                    -- 通知浏览器是否缓存
                    --之所以一个功能有三个头,是因为历史原因.所以为了网页的兼容性考虑,通常这三个头要一起使用

Connection: close/Keep-Alive  
                    -- 是否保持连接
                Date: Fri, 17 Feb 2017 18:24:11 GMT  
                    -- 响应时的时间
            (一个空行)
            响应实体内容
                xxxxxx

时间: 2024-10-06 00:05:17

HTTP 协议基本知识的相关文章

http协议原理知识

HTTP(Hyper Text Transfer Protocol,超文本传输协议) HTTP协议是应用层的一种协议,是一种C/S架构服务,基于TCP/IP协议来通信,监听在TCP的80端口上.下面就开始介绍HTTP协议的相关内容,在开始之前先简单的介绍一下端口类型.TCP协议的功能和状态.Socket通信时的系统调用. 一.常见的端口类型 众所周知: 0~1023:管理员才有权限使用,永久地分配给某应用使用. 注册端口: 1024~41951:只有一部分被注册,分配原则上非特别严格. 动态端口

【RL-TCPnet网络教程】第35章 FTP文件传输协议基础知识

第35章      FTP文件传输协议基础知识 本章节为大家讲解FTP(File Transfer Protocol,文件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) 35.1  初学者重要提示 35.2  FTP基础知识参考资料 35.3  FTP基础知识点 35.4  总结 35.1  初学者重要提示 FTP文件传输协议在实际项目中有比较重要的实用价值,需要初学者对FTP的基础知识也有个认识. 35.2  FTP基础知识参考资料 大家可以从以下地址获得FTP

TCP/IP网络协议基础知识集锦[转]

引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP协议簇是由OSI七层模型发展而来的,之所以存在OSI互联参考模型主要有以下几点好处: 1.用于解决不同厂商的设备互联问题:即兼容性考虑; 2.层次化结构独立性强;可扩展性强; 3.统一标准可以方便学习; TCP/IP模型 TCP/IP模型与OSI模型的相互关系如下图所示: 注释 1.应用层:与OSI的应用层.表示层.会话层相对应,主要作用是

IOS Socket 01-网络协议基础知识

1. 网络参考模型 OSI参考模型                                          TCP/IP参考模型 2. 七层简述 1)物理层:主要定义物理设备标准,如网线的接口类型.各种传输介质的传输速率等.主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的地后再转化为1.0,也就是常说的数模与模数转换).这一层的数据叫做比特(bit),主要设备:集线器 2)数据链路层:主要将从物理层接收的数据进行MAC地址的封装与解封装.常把这一层的数据叫做帧,主要

http 协议 相关知识 --请求

一:什么是http协议: http协议: 对浏览器客户端 和  服务器端 之间数据传输的格式规范 二:查看http协议的工具 1)使用火狐的firebug插件(右键->firebug->网络) 2)使用谷歌的“审查元素” 3)使用系统自带的telnet工具(远程访问工具) a)telnet localhost 8080      访问tomcat服务器 b)ctrl+]     回车          可以看到回显 c)输入请求内容 GET /day09/hello HTTP/1.1 Host

HTTP协议基本知识

Xcode7.0以上版本必须操作:https http 在Info.plist中添加NSAppTransportSecurity类型Dictionary. 在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES HTTP协议 1. HTTP协议 HyperText Transfer Protocol 超文本传输协议.设计HTTP的最初目的是为了提供一种发布和接收HTML页面的方法. 是一个客户端和服务端请求和应答的标准.客

http协议相关知识

HTTP一个属于应用层的面相对象的协议,简单快捷,适用于分布式超媒体信息系统. 目前www使用的版本是1.0的第六版 http特点: 1:支持客户/服务器模式 2:简单快捷.客户想服务器发送请求,只需要传送请求方法和路径.请求的方法有get post head 3:灵活:http允许传输任意类型的数据对象. 4:无连接.无连接的含义是限制每次链接至处理一个请求.服务器处理完客户的请求,并受到客户的应答之后即断开链接.采用这种方式可以节省传输时间. 5:无状态.http协议是无状态协议.无状态是指

Http协议的知识浅解

Http协议概念: 规定被约束的对象需要遵守的规则!!! Http 协议Http协议:超文本传输协议(Http:HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.HTTP协议的特点: * Http 协议遵守一个请求响应模式.(request, response). * 请求和相应必须成对出现. *必须现有请求后有响应.HTTP 协议默认的端口: 80 Http协议的请求部分 客户端向服务器发送的数据格式:GET方式的

http协议基础知识

1.http-url: 协议,主机号:一台服务器的ip地址:端口号:主机上面的程序号,一般默认80,许多浏览器省略不显示:路径:工作路径的目录 url请求: 访问主机号为123.207.58.25这台主机下面的80号服务下的根目录下的a目录下的c.php资源,并且提交的数据是a=100和b=20,大多数浏览器的url中间?隔开的是我们要提交的数据并且使用&来区分各个数据.提交的数据一直采用name=value的形式. 2.http-请求 对于一个网址,https://123.207.58.25: