http状态码

随着做的项目越来越多,越来越感觉到HTTP这个东西的重要性。今天把基础的知识总结一下。

1xx:指示信息--表示请求已接受,继续处理

2xx:成功--表示请求已被成功接受、理解、接受

3xx:重定向--要求完成请求必须进行更进一步的操作

4xx:客户端错误--请求有语法错误或请求无法实现

5xx:服务器端错误--服务器未能实现合法的请求

常见状态码:

200 OK                        //客户端请求成功

400 Bad Request              //客户端请求有语法错误,不能被服务器所理解

401 Unauthorized              //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用

403 Forbidden                //服务器收到请求,但是拒绝提供服务

404 Not Found                //请求资源不存在,eg:输入了错误的URL

500 Internal Server Error    //服务器发生不可预期的错误

502 Bad Gateway是指错误网关    //php语言中语法错误 通常也会返给页面这个错误

503 Server Unavailable        //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

HTTP工作原理

1,浏览器向DNS服务器请求解析该URL中的域名所对应的IP地址;

2, 解析出IP地址后,根据该ip地址和默认端口80,和服务器建立TCP链接;

3,浏览器发出读取文件的http请求,该请求保文作为tcp三次握手的第三个报文发给服务器;

4,服务器对浏览器作出响应,并把对应的html文本发给浏览器

5,释放tcp链接(若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求);

6,浏览器拿到html文本并显示内容

GET和POST请求的区别,

1,GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中.

2,GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.

3,GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。

4,GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HTTP状态码(HTTP Status Code)表示http服务器对与请求HTTP响应状态的3位数字代码。它由 ...
    BeeNoisy阅读 1,860评论 0 8
  • 1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信...
    帥陽阅读 418评论 0 0
  • 1xx消息这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息...
    翻这个墙阅读 182评论 0 0
  • 摘自 wiki HTTP状态码 1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,...
    SincereDu阅读 263评论 0 1
  • 三毛说 心之何如,有似万丈迷津,遥亘千里,其中并无舟子可以渡人,除了自渡,他人爱莫能助。
    且行阑珊处阅读 185评论 0 0