web中的http

来源:互联网 发布:朴素贝叶斯算法与java 编辑:程序博客网 时间:2024/05/04 13:05

http是超文本传输协议,是TCP/IP协议族中最重要的协议之一

以APACHE+PHP为例,一次访问页面大概过程是:

1、用浏览器去访问一个http页面或其他资源

2、先去解析url中的域名或ip地址,再去查找本地的hosts文件中的域名和对应的Ip,如果在hosts文件有对应的项,就会向对应的IP地址发送请求,如果没有再去DNS查找域名对应的IP地址,再去发送请求

3、去尝试与服务器连接,查看是否连通

4、再去请求http页面或其他资源,

5、服务器端的apache,根据地址去查找相应的资源,如果是PHP文件,会先将PHP文件交给PHP模块去处理,将处理后的结果返回给apache

6、apache再将静态的页面传给客户端浏览器,

7、浏览器再根据返回的结果显示为对应的页面


一个HTML页面

<h1>http</h1><img src="http://www.baidu.com/img/baidu_sylogo1.gif" /><img src="http://www.baidu.com/img/baidu_sylogo1.gif" /><img src="ogo1.gif" />

会有3个请求,1、HTML页面文件,2、http://www.baidu.com/img/baidu_sylogo1.gif,3、ogo1.gif


ogo1.gif对应的头信息

  Request URL:http://localhost/test/ogo1.gif    请求地址

  Request Method:GET    请求方式

  Status Code:404 Not Found    状态代码 404 表示没有找到

Request Headers    为请求报头

  GET/test/ogo1.gif HTTP/1.1    请求方式get 资源 协议

  Host: localhost    主机地址、端口,端口默认为80

  Connection: keep-alive连接方式

  Cache-Control: max-age=0       表示经过0s会失效

  User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.19 (KHTML, likeGecko) Chrome/18.0.1025.142 Safari/535.19    客户端信息

  Accept: */*    收的文件类型

  Referer: http://localhost/test/http.html    表示请求这个资源的来源地址,可以根据它来设置防盗链

  Accept-Encoding: gzip,deflate,sdch    接收的数据压缩格式

  Accept-Language: zh-CN,zh;q=0.8    接收的语言

  Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3          接收的字符集

  Cookie: PHPSESSID=435f8c621a055d8ec31d5b8b2a82322b     Cookie信息

Response Headers    为响应报头

  HTTP/1.1 404 Not     http协议 404 表示没有找到

  FoundDate: Thu, 05 Apr 2012 06:18:31 GMT     查找时间 

  Server: Apache/2.2.4 (Win32)PHP/5.2.3    服务器的信息

  Last-Modified: Thu, 29 Mar2012 07:25:44 GMT    上次修改时间

  ETag:"23a3f-84-a1c70812;7fc477ef"     用于标识该url对象是否有修改

  Accept-Ranges: bytes     是否支持断点续传,为bytes表示支持,若为none表示不支持

  Content-Length: 132    表示当前会话字节数,而不web的资源数,/后为资源总字节数

  Keep-Alive: timeout=5,max=99tcp    协议中判断终端的活跃状态,连接时间

  Connection: Keep-Alive     连接方式,tcp连接不会关闭,会保持连接

  Content-Type: text/html     文档的类型


在php可以查看这些信息,这些信息会比以上的内容更多

print_r($_SERVER);

http的请求方式:主要有两种GET、POST,在HTTP中本来没有大小限制,但浏览器会对get的大小会限制

1、get会将请求的内容加在URL中


2、post不会将数据通过URL传输


原创粉丝点击