Http协议学习笔记
2016-03-20 15:15
344 查看
IP头部的源端IP地址和目的端的IP地址在转发过程中是始终不变的(源路由选择除外),但是帧头部的源端地址和目的端物理地址在转发中是一直变化的.
在所有头部字段之后,HTTP请求必须包含一个空行,以标识头部字段的结束,请求行和每个头部都必须以结束(回车符或换行符);而空行则必须只包含一个.不能有其它字符,甚至是空白字符.
状态码和状态信息:100 Continue
含义:服务器收到了客户端的请求行和头部信息,告诉客户端继续发送数据部分,客户端通常需要发送Expect:100-continue头部字段告诉服务器自己还有数据要发;
(2)状态信息:2xx成功
状态码:200 OK
含义:请求成功
(3)状态信息:3xx重定向
状态码:
* 301 Moved Permanently 资源被转移走了,请求将被重定向
* 302 Found 通知客户端资源能在其它地方找到,但需要使用GET方法来获得.
* 304 Not Modified 表示被申请的资源没有被更新,和之前获得的相同.
* 307 Temporary Redirect 通知客户端资源能在其它地方找到,与302不同放入的hi,客户端仍然可以和原始请求相同的请求方法访问目标资源. \
(4)
状态信息:4xx客户端错误
状态码:
* 400 Bod Request 通知客户请求错误。
* 401 Unauthrized 请求需要认证信息
* 403 Forbidden 访问的服务器禁止,通常是由于客户端没有权限.
* 404 Not found 资源没有找到
* 407 Proxy Authentication Required 客户端需要先获得代理服务器的认证。
(5)
状态类型:5xx服务器错误
状态码:
* 500 Internal Server Error 通用服务器错误
* 503 Service Unavailable 暂时无法访问服务器.
短连接
当处理完客户的一个HTTP请求之后,web服务器就主动将TCP连接关闭,也就是说,同一个客户端的多个连续的HTTP请求不能共用同一个TCP连接,这称为短连接.长连接
是指同一个客户端的的多个连续的请求使用同一个TCP连接:优点:它极大地减少了网络上为建立TCP连接导致的负荷,同时对每次请求而言缩减了处理时间,HTTP请求和应答中的”connection”头部字段就是专门用于告诉对方一个请求完成之后应该如何处理连接.”close”或”keep-alive”在所有头部字段之后,HTTP请求必须包含一个空行,以标识头部字段的结束,请求行和每个头部都必须以结束(回车符或换行符);而空行则必须只包含一个.不能有其它字符,甚至是空白字符.
HTTP状态码和状态信息及其含义:
(1)状态类型:1xx信息,状态码和状态信息:100 Continue
含义:服务器收到了客户端的请求行和头部信息,告诉客户端继续发送数据部分,客户端通常需要发送Expect:100-continue头部字段告诉服务器自己还有数据要发;
(2)状态信息:2xx成功
状态码:200 OK
含义:请求成功
(3)状态信息:3xx重定向
状态码:
* 301 Moved Permanently 资源被转移走了,请求将被重定向
* 302 Found 通知客户端资源能在其它地方找到,但需要使用GET方法来获得.
* 304 Not Modified 表示被申请的资源没有被更新,和之前获得的相同.
* 307 Temporary Redirect 通知客户端资源能在其它地方找到,与302不同放入的hi,客户端仍然可以和原始请求相同的请求方法访问目标资源. \
(4)
状态信息:4xx客户端错误
状态码:
* 400 Bod Request 通知客户请求错误。
* 401 Unauthrized 请求需要认证信息
* 403 Forbidden 访问的服务器禁止,通常是由于客户端没有权限.
* 404 Not found 资源没有找到
* 407 Proxy Authentication Required 客户端需要先获得代理服务器的认证。
(5)
状态类型:5xx服务器错误
状态码:
* 500 Internal Server Error 通用服务器错误
* 503 Service Unavailable 暂时无法访问服务器.
相关文章推荐
- 手写服务器httpserver_封装Response_封装Request_JAVA199-201
- Web后端语言模拟http请求(带用户名和密码)实例代码大全
- 网络流——SAP模板
- Spark性能优化第二季-Task、数据倾斜及网络性能优化
- 网络开发库从libuv说到epoll
- 简单的基于Socket的TCP编程实例
- 深度学习Deep learning
- 为什么深度神经网络难以训练Why are deep neural networks hard to train?
- 神经网络可以拟合任意函数的视觉证明A visual proof that neural nets can compute any function
- POJ 1698 图论之网络流
- J2EE架构之路,好地址:http://www.fengfly.com/plus/view-210104-1.html
- http协议-缓存控制:no-cache/must-revalidate/no-store
- 《MFC网络通信》Part 2 简单TCP通信
- 神经网络可以拟合任意函数的视觉证明A visual proof that neural nets can compute any function
- 4000 基于DES加密的TCP聊天程序
- 计算机网络中一些名词解释(一)
- HttpClient 和 HttpURLConnection 的使用
- H5学习系列之文件读取API--本文转自http://blog.csdn.net/jackfrued/article/details/8967667
- linux 网络源码布局
- C++ 用libcurl库进行http通讯网络编程