PHP--网络协议相关知识

HTTP状态码css

HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。html

HTTP状态码主要有5种,表明5种不一样类型的响应:web

  1. 1xx:信息性状态码,表明接收到请求,正在处理
  2. 2xx:成功状态码,表明请求正常处理完毕

a)     200 OK跨域

表示从客户端发来的请求在服务端被正常处理了浏览器

b)     204 No Content缓存

服务器接收的处理已经所有处理完毕,可是返回的响应报文中不含有实体的主体部分,另外也不容许返回任何的主体,浏览器接收到204响应以后页面不更新。安全

c)      206 Partial Content服务器

客户端进行了范围请求,服务器成功执行了这部分的GET请求。响应报文中包含由Content-Range指定的实体内容。cookie

  1. 3xx:重定向,代表浏览器须要执行某些特殊的处理以正确处理请求。

a)     301 Moved Permanenty网络

永久重定向,301表示请求的资源已经被分配了新的URI,之后应使用资源如今所指的URI。

b)     302 Found

临时重定向,该状态码表示请求的资源已被分配了新的URI,但愿用户(本次)可以使用新的URI访问。

与301不一样,302是临时重定向,已移动的资源对应的URI在未来可能仍是会发生改变。

c)      303 See Other

表示请求对应的资源存在着另外一个URI,应使用GET方法定向获取请求的资源。

d)     304 Not Modified

304虽然被划分在3xx中,可是和重定向并无关系。该状态码表示客户端发送附带条件的请求时,服务器容许请求访问资源,但因发生请求未知足条件的状况后,直接返回304 Not Modified(服务器资源未改变,可直接使用客户端未过时的缓存)。304状态码返回时,不包含任何响应的主体部分。

e)     307 Temporary Redirect

临时重定向。该状态码与302 Found 有着相同的含义。尽管302标准禁止POST变换成GET,但实际使用时你们并不遵照。

307会遵守浏览器标准,不会从POST变成GET,可是对于处理响应的行为,每种浏览器有可能出现不一样的状况。

  1. 4xx:客户端错误,表示服务器没法处理请求,错误是因为客户端引发的。

a)     400 Bad Request

请求报文中存在语法错误。当错误发生时,需修改请求的内容再次发送请求。

b)     401 Unauthorized

表示发送的请求须要有经过HTTP认证(BASIC认证、DIGEST认证)的认证信息。若以前已经进行过1次请求,则表示用户认证失败。

返回含有401的响应必须包含一个使用于被请求资源的WWW-Authenticate首部用以质询(challenge)用户信息。当浏览器第一次接收401的时候,会弹出认证用的对话窗口。

c)      403 Forbidden

对请求资源的访问被服务器拒绝了。

d)     404 Not Found

服务器上没法找到请求的资源。

  1. 5xx:服务器错误,表示服务器在处理请求时出错

a)     500 Internal Server Error

服务器在执行请求时发生了错误,也有多是web应用存在的bug或临时的故障。

b)     503 Server Unaviabilable

服务器暂时处于超负载或正在进行停机维护,如今没法处理请求。

 

OSI七层模型

http://www.cnblogs.com/qishui/p/5428938.html 这篇文章讲的很详细了。

  1. 物理层 : 创建、维护、断开物理链接。
  2. 数据链路层 : 创建逻辑链接、进行硬件地址寻址、差错检验等功能。
  3. 网络层 : 进行逻辑地址寻址,实现不一样网络之间的路径选择。
  4. 运输层 : 定义传输数据的协议端口号,以及流控和差错校验。

协议有:TCP UDP ,数据包一旦离开网卡即进入网络传输层。

  1. 会话层 : 创建、管理、终止会话。
  2. 表示层 : 数据的表示、安全和压缩。
  3. 应用层 : 网络服务与最终用户的一个接口。

协议有:HTTP FTP TFTP SMTP POP3 SNMP DNS TENNET HTTPS DHCP

 

HTTP协议的工做特色与工做原理

工做特色

一、 基于B/S模式

二、 通讯开销小、传输快速、传输成本低

三、使用灵活、可以使用超文本传输协议

四、节省传输时间

五、无状态

工做原理

客户端发送请求给服务器,建立一个TCP链接,指定端口号(默认为80),服务器监听浏览器请求,一旦监听到客户端请求,分析请求类型后,服务器会向客户端返回状态信息和数据内容。

 

HTTP协议常见的请求/相应头

一、Content-Type :实体主体内对象的媒体类型,和Accept同样,字段值用type/subtype形式赋值。

Content-Type: text/html; charset=UTF-8

二、Accept :可通知服务器用户代理可以处理的媒体类型及媒体类型的相对优先级。可以使用 type/subtype 这种形式,一次指定多种媒体类型。

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

n  文本类型

text/html, text/plain, text/css ...

application/xhtml+xml, application/xml ...

n  图片类型

image/jpeg, image/gif,image/png ...

n  视频文件

video/mpeg, video/quicktime ...

n  应用程序使用的二进制文件

application/octet-stream, application/zip ...

一、Origin :最初的请求来源与哪,主要用与post请求

二、Cookie :HTTP请求发起时,发送给服务端的cookie值

三、Cache-Control :指定请求和响应的缓存机制

四、User-Agent :用户信息

五、Referrer :上级请求路径

六、X-Forwarded-For :强求端的真实IP(作代理的时候能够用次来获取)

七、Access-Control-Allow-Origin :容许特定的域名来进行访问,一般用作跨域使用

八、Last-Modified :指明资源最终修改的时间

 

HTTP协议的请求方法

一、GET

二、POST

三、HEAD

四、OPTIONS

五、PUT

六、DELETE

七、TRACE

GET 和 POST 的区别:

  1. GET在刷新和后退时,没影响,而POST会从新提交信息。
  2. GET能够被收藏为书签,而POST不行。
  3. GET 能够被缓存,POST不行。
  4. GET 请求时,编码类型为 application/x-www-form-urlencoded,POST 除了这个,还能够是Multipart/form-data(文件上传)
  5. GET 参数直接显示在url中,post看不到
  6. 因为url限制,GET 的数据量是有限的
  7. POST比GET更安全

 

HTTPS 的工做原理

HTTPS 是一种基于SSL/TLS的HTTP协议,全部的HTTP数据都是在SSL/TLS协议封装之上传输的。

HTTPS 协议在HTTP 协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议。

 

常见网络协议含义及端口

一、FTP :文件传输协议(21)

二、Telnet :用于远程登陆的端口(23)

三、SMTP :定义了简单邮件传输协议(25)

四、POP3 :接收邮件(110)

五、HTTP :超文本传输协议(80)

六、DNS :域名解析服务(53)

相关文章
相关标签/搜索